Skip to content

Commit 283ca5a

Browse files
committed
Merge branch 'feature/igcl-bw-upg' into release-gtd-external/rc2.3.0
2 parents c581fa4 + c348153 commit 283ca5a

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

IntelPresentMon/ControlLib/IntelPowerTelemetryAdapter.cpp

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ namespace pwr::intel
103103
double gpu_sustained_power_limit_mw = 0.;
104104
if (const auto result = ctlOverclockPowerLimitGet(
105105
deviceHandle, &gpu_sustained_power_limit_mw);
106-
result != CTL_RESULT_SUCCESS) {
106+
result != CTL_RESULT_SUCCESS && result != CTL_RESULT_ERROR_CORE_OVERCLOCK_DEPRECATED_API) {
107107
success = false;
108108
IGCL_ERR(result);
109109
}
@@ -484,13 +484,15 @@ namespace pwr::intel
484484
if constexpr (std::same_as<T, ctl_power_telemetry2_t>) {
485485
using namespace pmon::util;
486486
if (useNewBandwidthTelemetry) {
487+
double gpuMemReadBandwidthMegabytesPerSecond = 0;
487488
result = GetInstantaneousPowerTelemetryItem(
488489
currentSample.vramReadBandwidth,
489-
pm_gpu_power_telemetry_info.gpu_mem_read_bandwidth_bps,
490+
gpuMemReadBandwidthMegabytesPerSecond,
490491
GpuTelemetryCapBits::gpu_mem_read_bandwidth);
492+
// we need bandwidth in bits per second, IGCL V1 gives in megabytes per second
491493
pm_gpu_power_telemetry_info.gpu_mem_read_bandwidth_bps = ConvertMagnitudePrefix(
492-
pm_gpu_power_telemetry_info.gpu_mem_read_bandwidth_bps,
493-
MagnitudePrefix::Mebi,
494+
gpuMemReadBandwidthMegabytesPerSecond * 8.,
495+
MagnitudePrefix::Mega,
494496
MagnitudePrefix::Base);
495497
pmlog_verb(v::gpu)(std::format("VRAM read BW V1: bSupported [{}] type [{}] units [{}] data_64 [{}] data_double [{}] info []{}",
496498
currentSample.vramReadBandwidth.bSupported, (int)currentSample.vramReadBandwidth.type,
@@ -504,13 +506,15 @@ namespace pwr::intel
504506
}
505507
}
506508
if (useNewBandwidthTelemetry) {
509+
double gpuMemWriteBandwidthMegabytesPerSecond = 0;
507510
result = GetInstantaneousPowerTelemetryItem(
508511
currentSample.vramWriteBandwidth,
509-
pm_gpu_power_telemetry_info.gpu_mem_write_bandwidth_bps,
512+
gpuMemWriteBandwidthMegabytesPerSecond,
510513
GpuTelemetryCapBits::gpu_mem_write_bandwidth);
514+
// we need bandwidth in bits per second, IGCL V1 gives in megabytes per second
511515
pm_gpu_power_telemetry_info.gpu_mem_write_bandwidth_bps = ConvertMagnitudePrefix(
512-
pm_gpu_power_telemetry_info.gpu_mem_write_bandwidth_bps,
513-
MagnitudePrefix::Mebi,
516+
gpuMemWriteBandwidthMegabytesPerSecond * 8.,
517+
MagnitudePrefix::Mega,
514518
MagnitudePrefix::Base);
515519
pmlog_verb(v::gpu)(std::format("VRAM write BW V1: bSupported [{}] type [{}] units [{}] data_64 [{}] data_double [{}] info []{}",
516520
currentSample.vramWriteBandwidth.bSupported, (int)currentSample.vramWriteBandwidth.type,

0 commit comments

Comments
 (0)