File tree Expand file tree Collapse file tree 2 files changed +12
-0
lines changed
IntelPresentMon/ControlLib Expand file tree Collapse file tree 2 files changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -730,6 +730,14 @@ namespace pwr::intel
730730 previous_telemetry_item.value .datadouble ;
731731 pm_telemetry_value = (data_delta / time_delta_);
732732 SetTelemetryCapBit (telemetry_cap_bit);
733+ if (telemetry_cap_bit == GpuTelemetryCapBits::vram_power && useV1PowerTelemetry) {
734+ if (current_telemetry_item.value .datadouble < previous_telemetry_item.value .datadouble ) {
735+ pm_telemetry_value = gpu_mem_power_cache_value_w_;
736+ }
737+ else {
738+ gpu_mem_power_cache_value_w_ = pm_telemetry_value;
739+ }
740+ }
733741 }
734742 else if (current_telemetry_item.type == CTL_DATA_TYPE_INT64) {
735743 auto data_delta = current_telemetry_item.value .data64 -
Original file line number Diff line number Diff line change @@ -107,5 +107,9 @@ namespace pwr::intel
107107 // this is a stopgap to cover for cases where IGCL is reporting bad data in V0 bandwidth telemetry
108108 double gpu_mem_read_bw_cache_value_bps_ = 0 .;
109109 uint64_t gpu_mem_max_bw_cache_value_bps_ = 0 ;
110+ // in V1 api vramEnergyCounter rolls over after hitting 1000.0 causing the current sample to be
111+ // less than the previous sample. Working with IGCL to determine the correct behavior for roll
112+ // over occasions
113+ double gpu_mem_power_cache_value_w_ = 0 ;
110114 };
111115}
You can’t perform that action at this time.
0 commit comments