Removed backwards compatibility for jpeg_activity/vcn_activity
Updated: - Removed backwards compatibility for jpeg_activity/vcn_activity - On supported ASICs users can use XCP (partition) stat values: jpeg_busy and vcn_busy Change-Id: I78c403f8462668738ec57cac12b107f6a3989b18 Signed-off-by: Charis Poag <Charis.Poag@amd.com>
This commit is contained in:
zatwierdzone przez
Arif, Maisam
rodzic
92db324944
commit
1c6b2adae7
+52
-1
@@ -24,7 +24,58 @@ Full documentation for rocm_smi_lib is available at [https://rocm.docs.amd.com/]
|
||||
|
||||
### Removed
|
||||
|
||||
- N/A
|
||||
- **Removed backwards compatibility `rsmi_dev_gpu_metrics_info_get()`'s `jpeg_activity` or `vcn_activity` fields: use `xcp_stats.jpeg_busy` or `xcp_stats.vcn_busy`**
|
||||
- Backwards compability 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
|
||||
$ rocm-smi --showmetrics
|
||||
GPU[0] : vcn_activity (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] : 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']
|
||||
GPU[0] XCP[0] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[1] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[2] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[3] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[4] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[5] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[6] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[7] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[0] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[1] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[2] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[3] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[4] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[5] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[6] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[7] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
```
|
||||
New output:
|
||||
```shell
|
||||
$ rocm-smi --showmetrics
|
||||
GPU[0] : vcn_activity (%): ['N/A', 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] : 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']
|
||||
GPU[0] XCP[0] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[1] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[2] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[3] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[4] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[5] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[6] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[7] : xcp_stats.jpeg_busy (%): [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']
|
||||
GPU[0] XCP[0] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[1] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[2] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[3] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[4] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[5] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[6] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
GPU[0] XCP[7] : xcp_stats.vcn_busy (%): [0, 'N/A', 'N/A', 'N/A']
|
||||
```
|
||||
|
||||
### Optimized
|
||||
|
||||
|
||||
@@ -2038,23 +2038,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) {
|
||||
auto src_size = std::size(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].jpeg_busy);
|
||||
auto dest_size = std::size(metrics_public_init.jpeg_activity);
|
||||
auto copy_size = std::min(src_size, dest_size);
|
||||
std::copy_n(std::begin(m_gpu_metrics_tbl.m_xcp_stats[this->m_partition_id].jpeg_busy),
|
||||
copy_size,
|
||||
std::begin(metrics_public_init.jpeg_activity));
|
||||
}
|
||||
|
||||
return metrics_public_init;
|
||||
}();
|
||||
|
||||
@@ -2259,20 +2242,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;
|
||||
}();
|
||||
|
||||
@@ -2465,20 +2434,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;
|
||||
}();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user