Removed backwards compatibility for jpeg_activity/vcn_activity (#357)
Updated:
- Removed backwards compatibility for jpeg_activity/vcn_activity
- On supported ASICs users can use XCP (partition) stat values:
jpeg_busy and vcn_busy
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
[ROCm/amdsmi commit: f89a8c895c]
此提交包含在:
@@ -78,6 +78,91 @@ Full documentation for amd_smi_lib is available at [https://rocm.docs.amd.com/pr
|
||||
|
||||
### Removed
|
||||
|
||||
- **Removed backwards compatibility `amdsmi_get_gpu_metrics_info()`'s `jpeg_activity` or `vcn_activity` fields: use `xcp_stats.jpeg_busy` or `xcp_stats.vcn_busy`**
|
||||
- Backwards compatibility is removed for `jpeg_activity` and `vcn_activity` fields, if the `jpeg_busy` or `vcn_busy` field is available.
|
||||
- <i>Reasons for this change</i>:
|
||||
- Providing both `vcn_activity`/`jpeg_activity` and XCP (partition) stats `vcn_busy`/`jpeg_busy` caused confusion for users about which field to use. By removing backward compatibility, it is easier to identify the relevant field.
|
||||
- The `jpeg_busy` field increased in size (for supported ASICs), making backward compatibility unable to fully copy the structure into `jpeg_activity`.
|
||||
|
||||
See below for comparison of updated CLI outputs:
|
||||
|
||||
Original output:
|
||||
```shell
|
||||
$ amd-smi metric --usage
|
||||
GPU: 0
|
||||
USAGE:
|
||||
GFX_ACTIVITY: 0 %
|
||||
UMC_ACTIVITY: 0 %
|
||||
MM_ACTIVITY: N/A
|
||||
VCN_ACTIVITY: [0 %, N/A, N/A, N/A]
|
||||
JPEG_ACTIVITY: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
GFX_BUSY_INST:
|
||||
XCP_0: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_1: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_2: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_3: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_4: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_5: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_6: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_7: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
JPEG_BUSY:
|
||||
XCP_0: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_1: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_2: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_3: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_4: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_5: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_6: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_7: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
VCN_BUSY:
|
||||
XCP_0: [0 %, N/A, N/A, N/A]
|
||||
XCP_1: [0 %, N/A, N/A, N/A]
|
||||
XCP_2: [0 %, N/A, N/A, N/A]
|
||||
XCP_3: [0 %, N/A, N/A, N/A]
|
||||
XCP_4: [0 %, N/A, N/A, N/A]
|
||||
XCP_5: [0 %, N/A, N/A, N/A]
|
||||
XCP_6: [0 %, N/A, N/A, N/A]
|
||||
XCP_7: [0 %, N/A, N/A, N/A]
|
||||
```
|
||||
New output:
|
||||
```shell
|
||||
$ amd-smi metric --usage
|
||||
GPU: 0
|
||||
USAGE:
|
||||
GFX_ACTIVITY: 0 %
|
||||
UMC_ACTIVITY: 0 %
|
||||
MM_ACTIVITY: N/A
|
||||
VCN_ACTIVITY: [N/A, N/A, N/A, N/A]
|
||||
JPEG_ACTIVITY: [N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
GFX_BUSY_INST:
|
||||
XCP_0: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_1: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_2: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_3: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_4: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_5: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_6: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_7: [0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
JPEG_BUSY:
|
||||
XCP_0: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_1: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_2: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_3: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_4: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_5: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_6: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
XCP_7: [0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, 0 %, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A]
|
||||
VCN_BUSY:
|
||||
XCP_0: [0 %, N/A, N/A, N/A]
|
||||
XCP_1: [0 %, N/A, N/A, N/A]
|
||||
XCP_2: [0 %, N/A, N/A, N/A]
|
||||
XCP_3: [0 %, N/A, N/A, N/A]
|
||||
XCP_4: [0 %, N/A, N/A, N/A]
|
||||
XCP_5: [0 %, N/A, N/A, N/A]
|
||||
XCP_6: [0 %, N/A, N/A, N/A]
|
||||
XCP_7: [0 %, N/A, N/A, N/A]
|
||||
```
|
||||
|
||||
### Optimized
|
||||
|
||||
### Resolved issues
|
||||
|
||||
@@ -2040,20 +2040,6 @@ AMGpuMetricsPublicLatestTupl_t GpuMetricsBase_v18_t::copy_internal_to_external_m
|
||||
|
||||
metrics_public_init.current_dclk1 = metrics_public_init.current_dclk0s[1];
|
||||
|
||||
// separate by XCP
|
||||
if (this->m_partition_id < kRSMI_MAX_NUM_XCP
|
||||
&& m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].vcn_busy[0] != UINT16_MAX) {
|
||||
std::copy(std::begin(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].vcn_busy),
|
||||
std::end(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].vcn_busy),
|
||||
std::begin(metrics_public_init.vcn_activity));
|
||||
}
|
||||
if (this->m_partition_id < kRSMI_MAX_NUM_XCP
|
||||
&& m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].jpeg_busy[0] != UINT16_MAX) {
|
||||
std::copy(std::begin(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].jpeg_busy),
|
||||
std::end(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].jpeg_busy),
|
||||
std::begin(metrics_public_init.jpeg_activity));
|
||||
}
|
||||
|
||||
return metrics_public_init;
|
||||
}();
|
||||
|
||||
@@ -2258,20 +2244,6 @@ AMGpuMetricsPublicLatestTupl_t GpuMetricsBase_v17_t::copy_internal_to_external_m
|
||||
|
||||
metrics_public_init.current_dclk1 = metrics_public_init.current_dclk0s[1];
|
||||
|
||||
// separate by XCP
|
||||
if (this->m_partition_id < kRSMI_MAX_NUM_XCP
|
||||
&& m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].vcn_busy[0] != UINT16_MAX) {
|
||||
std::copy(std::begin(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].vcn_busy),
|
||||
std::end(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].vcn_busy),
|
||||
std::begin(metrics_public_init.vcn_activity));
|
||||
}
|
||||
if (this->m_partition_id < kRSMI_MAX_NUM_XCP
|
||||
&& m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].jpeg_busy[0] != UINT16_MAX) {
|
||||
std::copy(std::begin(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].jpeg_busy),
|
||||
std::end(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].jpeg_busy),
|
||||
std::begin(metrics_public_init.jpeg_activity));
|
||||
}
|
||||
|
||||
return metrics_public_init;
|
||||
}();
|
||||
|
||||
@@ -2464,20 +2436,6 @@ AMGpuMetricsPublicLatestTupl_t GpuMetricsBase_v16_t::copy_internal_to_external_m
|
||||
|
||||
metrics_public_init.current_dclk1 = metrics_public_init.current_dclk0s[1];
|
||||
|
||||
// separate by XCP
|
||||
if (this->m_partition_id < kRSMI_MAX_NUM_XCP
|
||||
&& m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].vcn_busy[0] != UINT16_MAX) {
|
||||
std::copy(std::begin(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].vcn_busy),
|
||||
std::end(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].vcn_busy),
|
||||
std::begin(metrics_public_init.vcn_activity));
|
||||
}
|
||||
if (this->m_partition_id < kRSMI_MAX_NUM_XCP
|
||||
&& m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].jpeg_busy[0] != UINT16_MAX) {
|
||||
std::copy(std::begin(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].jpeg_busy),
|
||||
std::end(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].jpeg_busy),
|
||||
std::begin(metrics_public_init.jpeg_activity));
|
||||
}
|
||||
|
||||
return metrics_public_init;
|
||||
}();
|
||||
|
||||
|
||||
新增問題並參考
封鎖使用者