L2-L2 inter-stamp memtile dtrace counters for VE2 baseline overlay - #100
Open
predutta wants to merge 1 commit into
Open
L2-L2 inter-stamp memtile dtrace counters for VE2 baseline overlay#100predutta wants to merge 1 commit into
predutta wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds an optional VE2-specific extension to AIE dtrace “bandwidth” control-trace generation to also configure and sample a fixed set of memtile L2–L2 inter-stamp halo perf counters for the 24-column (1×6×4×4) baseline overlay, gated by AIE_dtrace_settings.l2_l2_transfer_metrics.
Changes:
- Extends VE2 bandwidth CT generation to append memtile L2–L2 perf counter resets/config writes plus additional
read_reg()samples and embedded metadata. - Introduces a fixed baseline mapping utility (
getL2L2CounterPoints) describing the 20 memtile counter points to configure/sample. - Adds metadata/config plumbing and improves CT-generation logging to reflect whether L2–L2 metrics are enabled.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| profile/plugin/aie_dtrace/ve2/aie_dtrace_ve2.cpp | Updates CT-generation debug message to reflect “bandwidth” vs “bandwidth+L2-L2”. |
| profile/plugin/aie_dtrace/ve2/aie_dtrace_ct_writer.h | Extends CT writer API/state to support memtile L2–L2 counters and introduces memtile perf ctrl offsets/events. |
| profile/plugin/aie_dtrace/ve2/aie_dtrace_ct_writer.cpp | Appends memtile L2–L2 counter configuration, sampling, and metadata into the generated bandwidth CT. |
| profile/plugin/aie_dtrace/util/aie_dtrace_util.h | Adds L2–L2 baseline constants and the L2L2CounterPoint/API declaration. |
| profile/plugin/aie_dtrace/util/aie_dtrace_util.cpp | Implements the fixed 24-column baseline L2–L2 counter-point table. |
| profile/plugin/aie_dtrace/aie_dtrace_metadata.{h,cpp} | Adds l2_l2_transfer_metrics setting and exposes it via metadata. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
94
to
+99
| auto tree = xrt_core::config::detail::get_ptree_value("AIE_dtrace_settings"); | ||
| if (auto val = tree.get_optional<bool>("config_one_partition")) | ||
| configOnePartition = *val; | ||
|
|
||
| l2L2TransferEnabled = xrt_core::config::get_aie_dtrace_settings_l2_l2_transfer_metrics(); | ||
|
|
Comment on lines
+1148
to
+1151
| if (!allL2l2Counters.empty()) { | ||
| if (!metaGroups.empty()) | ||
| ctFile << ",\n"; | ||
| ctFile << "# \"l2_l2\": [\n"; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds optional L2-L2 inter-stamp memtile dtrace on the VE2 24-column (1×6×4×4) baseline by appending 20 perf counters on dst halo ports at memtile columns 1, 5, 9, 13, 17, and 21 (running + stall per path), merged into the existing bandwidth control-trace and sampled in the dtrace dump. Enable with AIE_dtrace_settings.l2_l2_transfer_metrics=true in xrt.ini alongside Debug.aie_dtrace=true. Memtile counters use row 1 (MEM_TILE_ROW_START) to match the overlay geometry and avoid invalid shim-row register accesses that previously caused FW exceptions.