The rsmi_topo_get_link_type() is extended to support query the CPU
and GPU link type by passing dv_ind_dst as 0xFFFFFFFF.
Change-Id: I1f212a01e8120adb70a08ab772fa9faaaecefa29
[ROCm/rocm_smi_lib commit: de5bc164de]
The rsmi_topo_get_link_type() is extended to support query the CPU
and GPU link type by passing dv_ind_dst as 0xFFFFFFFF.
Change-Id: I1f212a01e8120adb70a08ab772fa9faaaecefa29
defaults to being disabled and can be enabled via a
-DENABLE_COVERAGE=ON option (#194). Introduce CI on mi100 that
leverages code coverage and publishes results along with a testing
report.
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
[ROCm/rocprofiler-compute commit: a39514f02f]
defaults to being disabled and can be enabled via a
-DENABLE_COVERAGE=ON option (#194). Introduce CI on mi100 that
leverages code coverage and publishes results along with a testing
report.
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Revision - Addition [Impact SoC: MI200, MI300]
Note: this set of counters are important help understand the
bottleneck.
1. TCC_TAG_STALL
a. Metric: TCC_TAG_STALL/TCC_CYCLE: percentage of time TCC
tag lookup pipeline is stalled
2. TCP_TCR_TCP_STALL_CYCLES
a. Metric: TCP_TCR_TCP_STALL_CYCLES/TCP_GATE_EN1: percentage
of time TCP is stalled by TCR
Revision - Addition [Impact SoC: MI300]
3. TCC_BUBBLE:
a. Definition: Number of 128-byte read requests sent to EA
b. Revised Metric #1, TCC-EA Read BW:
ReadBW = 128 * TCC_BUBBLE
+ 64 * (TCC_EA0_RDREQ - TCC_BUBBLE - TCC_EA0_RDREQ_32B)
+ 32 * TCC_EA0_RDREQ_32B
c. Revised Metric #2: TCC_EA Read Latency
ReadLatency = TCC_EA0_RDREQ_LEVEL / (TCC_BUBBLE + TCC_EA0_RDREQ)
/* [Fineprint] More detailed arithmetic:
* ReadLatency = TCC_EA0_RDREQ_LEVEL / (#32B_req + #64B_req + #128B_req * 2)
*/
Change-Id: I0a2dfc1b64ca97023b1e8ba0f9830330b3034946
Revision - Addition [Impact SoC: MI200, MI300]
Note: this set of counters are important help understand the
bottleneck.
1. TCC_TAG_STALL
a. Metric: TCC_TAG_STALL/TCC_CYCLE: percentage of time TCC
tag lookup pipeline is stalled
2. TCP_TCR_TCP_STALL_CYCLES
a. Metric: TCP_TCR_TCP_STALL_CYCLES/TCP_GATE_EN1: percentage
of time TCP is stalled by TCR
Revision - Addition [Impact SoC: MI300]
3. TCC_BUBBLE:
a. Definition: Number of 128-byte read requests sent to EA
b. Revised Metric #1, TCC-EA Read BW:
ReadBW = 128 * TCC_BUBBLE
+ 64 * (TCC_EA0_RDREQ - TCC_BUBBLE - TCC_EA0_RDREQ_32B)
+ 32 * TCC_EA0_RDREQ_32B
c. Revised Metric #2: TCC_EA Read Latency
ReadLatency = TCC_EA0_RDREQ_LEVEL / (TCC_BUBBLE + TCC_EA0_RDREQ)
/* [Fineprint] More detailed arithmetic:
* ReadLatency = TCC_EA0_RDREQ_LEVEL / (#32B_req + #64B_req + #128B_req * 2)
*/
Change-Id: I0a2dfc1b64ca97023b1e8ba0f9830330b3034946
[ROCm/rocprofiler commit: 46e02a9866]
Move context allocation into Device::init() method to simplify the logic and handle
HIP_VISIBLE_DEVICES properly
Change-Id: I0fc6f37c7ae39bedbdad0290295d6794c66d6c54
[ROCm/clr commit: a49d633883]
Move context allocation into Device::init() method to simplify the logic and handle
HIP_VISIBLE_DEVICES properly
Change-Id: I0fc6f37c7ae39bedbdad0290295d6794c66d6c54
* Updates:
- [API/CLI] rsmi_dev_*_partition_set &
rsmi_dev_*_partition_reset - exposed RSMI_STATUS_BUSY for
EBUSY writes + cleaned up accidental map insertions
(maplookup[] can insert values that are not in the map,
map.at(key) fixes this potential issue)
- [API] rsmi_dev_gpu_metrics_info_get() - returns
RSMI_STATUS_NOT_SUPPORTED for unsupported metric tables
outside of 1v1/1v2/1v3
- [API] writeDevInfoStr() - exposes RSMI_STATUS_BUSY for
EBUSY write errors; kept backward compatibility
for other writes which do not care about these states
- [API] rsmi_dev_od_volt_info_get()
& rsmi_dev_od_volt_curve_regions_get() have better logging
+ Expose more details on why they are erroring
- [Utils/logs/example] Expose AMD GPU gfx target version to aid in
system troubleshooting
- [Utils] Added test methods that look at od volt
freq & regions into here - for easier access across
several tests
- [Utils] Updated getRSMIStatusString(new argument - fullstatus;
default to true for backwards compatibility)
-> true shows shortened RSMI STATUS response
- [Utils] Added splitString to cut out noisy return responses
(used in getRSMIStatusString(), when fullstatus = true)
- [Utils] Added getFileCreationDate() to expose build date
of the library - helpful for local builds or experimental builds
- [Utils] Macro cleanup
- [Example] Added a few gpu_metric checks - helpful for upcoming
updates
- [Device] SYSFS/DebugFS - now have better r/w displayed in logs
- [LOGS] Expose library build date - see above for details
- [Tests] Add more warnings/errors to test builds
- [Tests] Moved up Partition tests for ordered test runs - helped
identify issues with GPU BUSY writes
- [Tests] compute_partition_read_write - handles RSMI_STATUS_BUSY
with waits for busy status found & cleaned up how we checked
for partition changes - with RSMI responses exposed more clearly
- [Tests] perf_determinism - multi gpu now properly runs through
with full resets as needed
- [Tests] volt_freq_curv_read - better error handling with more
verbose output
Change-Id: Ie94c6abb6a9aab95c345996d3ad3843cf6734977
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
[ROCm/rocm_smi_lib commit: 57b6135e54]
* Updates:
- [API/CLI] rsmi_dev_*_partition_set &
rsmi_dev_*_partition_reset - exposed RSMI_STATUS_BUSY for
EBUSY writes + cleaned up accidental map insertions
(maplookup[] can insert values that are not in the map,
map.at(key) fixes this potential issue)
- [API] rsmi_dev_gpu_metrics_info_get() - returns
RSMI_STATUS_NOT_SUPPORTED for unsupported metric tables
outside of 1v1/1v2/1v3
- [API] writeDevInfoStr() - exposes RSMI_STATUS_BUSY for
EBUSY write errors; kept backward compatibility
for other writes which do not care about these states
- [API] rsmi_dev_od_volt_info_get()
& rsmi_dev_od_volt_curve_regions_get() have better logging
+ Expose more details on why they are erroring
- [Utils/logs/example] Expose AMD GPU gfx target version to aid in
system troubleshooting
- [Utils] Added test methods that look at od volt
freq & regions into here - for easier access across
several tests
- [Utils] Updated getRSMIStatusString(new argument - fullstatus;
default to true for backwards compatibility)
-> true shows shortened RSMI STATUS response
- [Utils] Added splitString to cut out noisy return responses
(used in getRSMIStatusString(), when fullstatus = true)
- [Utils] Added getFileCreationDate() to expose build date
of the library - helpful for local builds or experimental builds
- [Utils] Macro cleanup
- [Example] Added a few gpu_metric checks - helpful for upcoming
updates
- [Device] SYSFS/DebugFS - now have better r/w displayed in logs
- [LOGS] Expose library build date - see above for details
- [Tests] Add more warnings/errors to test builds
- [Tests] Moved up Partition tests for ordered test runs - helped
identify issues with GPU BUSY writes
- [Tests] compute_partition_read_write - handles RSMI_STATUS_BUSY
with waits for busy status found & cleaned up how we checked
for partition changes - with RSMI responses exposed more clearly
- [Tests] perf_determinism - multi gpu now properly runs through
with full resets as needed
- [Tests] volt_freq_curv_read - better error handling with more
verbose output
Change-Id: Ie94c6abb6a9aab95c345996d3ad3843cf6734977
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
The src/core/isa_capture/code_object_track.cpp file includes the
amd-dbgapi header but does not use the library (and is not configured to
use the library).
Remove the unused import.
Change-Id: Icc6c46a1f52355e9e5631395dfad1b44365bdca4
The src/core/isa_capture/code_object_track.cpp file includes the
amd-dbgapi header but does not use the library (and is not configured to
use the library).
Remove the unused import.
Change-Id: Icc6c46a1f52355e9e5631395dfad1b44365bdca4
[ROCm/rocprofiler commit: 372fc3910b]