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
730
730
previous_telemetry_item.value .datadouble ;
731
731
pm_telemetry_value = (data_delta / time_delta_);
732
732
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
+ }
733
741
}
734
742
else if (current_telemetry_item.type == CTL_DATA_TYPE_INT64) {
735
743
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
107
107
// this is a stopgap to cover for cases where IGCL is reporting bad data in V0 bandwidth telemetry
108
108
double gpu_mem_read_bw_cache_value_bps_ = 0 .;
109
109
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 ;
110
114
};
111
115
}
You can’t perform that action at this time.
0 commit comments