@@ -64,18 +64,13 @@ def get_frequency_power_relation_fp32(device, n_samples=10, nvidia_smi_fallback=
6464 # setup clocks
6565 nvml_gr_clocks = get_nvml_gr_clocks (device , n = n_samples , quiet = True )
6666
67- # idle power
68- power_idle = get_idle_power (device )
69-
7067 # setup tunable parameters
7168 tune_params = OrderedDict ()
7269 tune_params ["block_size_x" ] = [max_block_dim_x ]
7370 tune_params ["nr_outer" ] = [64 ]
7471 tune_params ["nr_inner" ] = [1024 ]
7572 tune_params .update (nvml_gr_clocks )
7673
77- #tune_params["nvml_gr_clock"] = [int(c) for c in tune_params["nvml_gr_clock"]]
78-
7974 # metrics
8075 metrics = OrderedDict ()
8176 metrics ["f" ] = lambda p : p ["core_freq" ]
@@ -94,14 +89,13 @@ def get_frequency_power_relation_fp32(device, n_samples=10, nvidia_smi_fallback=
9489 return freqs , nvml_power
9590
9691
97- def estimated_voltage (X , clock_threshold , voltage_scale ):
98- clocks = X
92+ def estimated_voltage (clocks , clock_threshold , voltage_scale ):
93+ """ estimate voltage based on clock_threshold and voltage_scale """
9994 return [1 + ((clock > clock_threshold ) * (1e-3 * voltage_scale * (clock - clock_threshold ))) for clock in clocks ]
10095
10196
102- def estimated_power (X , clock_threshold , voltage_scale , clock_scale , power_max ):
103- clocks = X
104-
97+ def estimated_power (clocks , clock_threshold , voltage_scale , clock_scale , power_max ):
98+ """ estimate power consumption based on clock threshold, clock_scale and max power """
10599 n = len (clocks )
106100 powers = np .zeros (n )
107101
@@ -117,8 +111,7 @@ def estimated_power(X, clock_threshold, voltage_scale, clock_scale, power_max):
117111
118112
119113def fit_power_frequency_model (freqs , nvml_power ):
120- """ Fit the performance frequency model based on frequency and power measurements """
121-
114+ """ Fit the power-frequency model based on frequency and power measurements """
122115 nvml_gr_clocks = np .array (freqs )
123116 nvml_power = np .array (nvml_power )
124117
0 commit comments