Skip to content

Support for dynamic trace and ddr bandwidth#20

Merged
jvillarre merged 15 commits intoXilinx:masterfrom
garimadhaked:dtrace_ddr_bandwidth
Feb 20, 2026
Merged

Support for dynamic trace and ddr bandwidth#20
jvillarre merged 15 commits intoXilinx:masterfrom
garimadhaked:dtrace_ddr_bandwidth

Conversation

@garimadhaked
Copy link
Copy Markdown
Collaborator

Support for Dynamic trace for layer by layer profiling
Added dtrace_debug flag
Support for ddr bandwidth/read_bandwidth/write_bandwidth metric sets under AIE profile.

garimadhaked and others added 14 commits January 20, 2026 12:13
Signed-off-by: Garima Dhaked <garima.dhaked@amd.com>
- Add aie_profile_ct_writer.h and aie_profile_ct_writer.cpp
- Searches recursively for aie_runtime_control<id>.asm files
- Parses SAVE_TIMESTAMPS instructions from ASM files
- Generates aie_profile.ct file with jprobe blocks for each ASM file
- Filters counters by column range per ASM file
- Integrates CT writer call after setMetricsSettings() in aie_profile.cpp
- Add ddr_throughput to valid metrics list for interface tiles
- Increase NUM_SHIM_COUNTERS from 2 to 6 to support 4 ports
- Add ddr_throughput exception in getInterfaceTiles filtering
- Synthesize missing stream ports for ddr_throughput (4 ports needed)
- Update stream switch configuration to use SOUTH with stream IDs
- Add debug logging for ddr_throughput counter reservation
- Change dtrace_debug config to bool type
- Set dtrace_control_file_path before submitNopElf to avoid key locking
Signed-off-by: Garima Dhaked <garima.dhaked@amd.com>
Signed-off-by: Garima Dhaked <garima.dhaked@amd.com>
- aie_profile_config.cpp: Remove incorrect hardcoded port-to-direction mapping
  for ddr_throughput metric. Now uses tile.is_master_vec from metadata to
  correctly determine MM2S/S2MM stream switch configuration.

- aie_profile.cpp: Fix isMaster determination for ddr_throughput, read_throughput,
  and write_throughput metrics to use tile.is_master_vec from metadata.

- aie_control_config_filetype.cpp: Minor fix for stream ID handling.
Signed-off-by: Garima Dhaked <garima.dhaked@amd.com>
- Extended CTCounterInfo struct with metricSet and portDirection fields
- Added isThroughputMetric() and getPortDirection() helper functions
- Updated getConfiguredCounters() to populate metric set and port direction
- Added port_direction to counter_metadata JSON for throughput metrics
- Restructured probes JSON to group counter values under tile sections
- Fix profileConfig lookup timing: use metadata->createAIEProfileConfig() directly
  instead of db->getStaticInfo().getProfileConfig() which was returning null
  because saveProfileConfig is called after CT writer generation
- Add read_throughput and write_throughput to supported shim metric strings
  to fix 'Unable to find interface_tile metric set' warning
Signed-off-by: Garima Dhaked <garima.dhaked@amd.com>
Signed-off-by: Garima Dhaked <garima.dhaked@amd.com>
… write_throughput->write_bandwidth

Signed-off-by: Garima Dhaked <garima.dhaked@amd.com>
Signed-off-by: Garima Dhaked <garima.dhaked@amd.com>
…for the same.

Signed-off-by: Garima Dhaked <garima.dhaked@amd.com>
@jvillarre jvillarre merged commit fdda7ca into Xilinx:master Feb 20, 2026
@garimadhaked garimadhaked deleted the dtrace_ddr_bandwidth branch April 22, 2026 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants