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>
This commit is contained in:
@@ -78,6 +78,91 @@ Full documentation for amd_smi_lib is available at [https://rocm.docs.amd.com/pr
|
|||||||
|
|
||||||
### Removed
|
### 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
|
### Optimized
|
||||||
|
|
||||||
### Resolved issues
|
### 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];
|
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;
|
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];
|
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;
|
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];
|
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;
|
return metrics_public_init;
|
||||||
}();
|
}();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user