@@ -138,7 +138,18 @@ namespace pwr::intel
138138 std::optional<PresentMonPowerTelemetryInfo> IntelPowerTelemetryAdapter::GetClosest (uint64_t qpc) const noexcept
139139 {
140140 std::lock_guard<std::mutex> lock (historyMutex);
141- return history.GetNearest (qpc);
141+ const auto nearest = history.GetNearest (qpc);
142+ if constexpr (PMLOG_BUILD_LEVEL_ >= pmon::util::log::Level::Verbose) {
143+ if (!nearest) {
144+ pmlog_verb (v::gpu)(" Empty telemetry info sample returned" );
145+ }
146+ else {
147+ pmlog_verb (v::gpu)(std::format (" Nearest telemetry info sampled; read bw [{}] write bw [{}]" ,
148+ nearest->gpu_mem_read_bandwidth_bps , nearest->gpu_mem_write_bandwidth_bps
149+ ));
150+ }
151+ }
152+ return nearest;
142153 }
143154
144155 PM_DEVICE_VENDOR IntelPowerTelemetryAdapter::GetVendor () const noexcept
@@ -475,10 +486,10 @@ namespace pwr::intel
475486 currentSample.vramReadBandwidth ,
476487 pm_gpu_power_telemetry_info.gpu_mem_read_bandwidth_bps ,
477488 GpuTelemetryCapBits::gpu_mem_read_bandwidth);
478- pmlog_verb (v::gpu)(std::format (" VRAM read BW bSupported [{}] type [{}] units [{}] data_64 [{}] data_double [{}]" ,
489+ pmlog_verb (v::gpu)(std::format (" VRAM read BW V1: bSupported [{}] type [{}] units [{}] data_64 [{}] data_double [{}] info []{} " ,
479490 currentSample.vramReadBandwidth .bSupported , (int )currentSample.vramReadBandwidth .type ,
480491 (int )currentSample.vramReadBandwidth .units , currentSample.vramReadBandwidth .value .datau64 ,
481- currentSample.vramReadBandwidth .value .datadouble ));
492+ currentSample.vramReadBandwidth .value .datadouble , pm_gpu_power_telemetry_info. gpu_mem_read_bandwidth_bps ));
482493 if (result != CTL_RESULT_SUCCESS ||
483494 !(HasTelemetryCapBit (GpuTelemetryCapBits::gpu_mem_read_bandwidth))) {
484495 useNewBandwidthTelemetry = false ;
@@ -491,10 +502,10 @@ namespace pwr::intel
491502 currentSample.vramWriteBandwidth ,
492503 pm_gpu_power_telemetry_info.gpu_mem_write_bandwidth_bps ,
493504 GpuTelemetryCapBits::gpu_mem_write_bandwidth);
494- pmlog_verb (v::gpu)(std::format (" VRAM write BW bSupported [{}] type [{}] units [{}] data_64 [{}] data_double [{}]" ,
505+ pmlog_verb (v::gpu)(std::format (" VRAM write BW V1: bSupported [{}] type [{}] units [{}] data_64 [{}] data_double [{}] info []{} " ,
495506 currentSample.vramWriteBandwidth .bSupported , (int )currentSample.vramWriteBandwidth .type ,
496507 (int )currentSample.vramWriteBandwidth .units , currentSample.vramWriteBandwidth .value .datau64 ,
497- currentSample.vramWriteBandwidth .value .datadouble ));
508+ currentSample.vramWriteBandwidth .value .datadouble , pm_gpu_power_telemetry_info. gpu_mem_write_bandwidth_bps ));
498509 if (result != CTL_RESULT_SUCCESS ||
499510 !(HasTelemetryCapBit (GpuTelemetryCapBits::gpu_mem_write_bandwidth))) {
500511 useNewBandwidthTelemetry = false ;
@@ -509,6 +520,10 @@ namespace pwr::intel
509520 previousSample->vramReadBandwidthCounter ,
510521 pm_gpu_power_telemetry_info.gpu_mem_read_bandwidth_bps ,
511522 GpuTelemetryCapBits::gpu_mem_read_bandwidth);
523+ pmlog_verb (v::gpu)(std::format (" VRAM read BW V0: bSupported [{}] type [{}] units [{}] data_64 [{}] data_double [{}] info []{}" ,
524+ currentSample.vramReadBandwidthCounter .bSupported , (int )currentSample.vramReadBandwidthCounter .type ,
525+ (int )currentSample.vramReadBandwidthCounter .units , currentSample.vramReadBandwidthCounter .value .datau64 ,
526+ currentSample.vramReadBandwidthCounter .value .datadouble , pm_gpu_power_telemetry_info.gpu_mem_read_bandwidth_bps ));
512527 if (result != CTL_RESULT_SUCCESS) {
513528 return result;
514529 }
@@ -517,6 +532,10 @@ namespace pwr::intel
517532 previousSample->vramWriteBandwidthCounter ,
518533 pm_gpu_power_telemetry_info.gpu_mem_write_bandwidth_bps ,
519534 GpuTelemetryCapBits::gpu_mem_write_bandwidth);
535+ pmlog_verb (v::gpu)(std::format (" VRAM write BW V0: bSupported [{}] type [{}] units [{}] data_64 [{}] data_double [{}] info []{}" ,
536+ currentSample.vramWriteBandwidthCounter .bSupported , (int )currentSample.vramWriteBandwidthCounter .type ,
537+ (int )currentSample.vramWriteBandwidthCounter .units , currentSample.vramWriteBandwidthCounter .value .datau64 ,
538+ currentSample.vramWriteBandwidthCounter .value .datadouble , pm_gpu_power_telemetry_info.gpu_mem_write_bandwidth_bps ));
520539 if (result != CTL_RESULT_SUCCESS) {
521540 return result;
522541 }
@@ -746,6 +765,9 @@ namespace pwr::intel
746765
747766 void IntelPowerTelemetryAdapter::SavePmPowerTelemetryData (PresentMonPowerTelemetryInfo& info)
748767 {
768+ pmlog_verb (v::gpu)(std::format (" Saving gathered telemetry info to history; read bw [{}] write bw [{}]" ,
769+ info.gpu_mem_read_bandwidth_bps , info.gpu_mem_write_bandwidth_bps
770+ ));
749771 std::lock_guard<std::mutex> lock (historyMutex);
750772 history.Push (info);
751773 }
0 commit comments