Skip to content
Snippets Groups Projects
Commit 75e6d7f1 authored by Hashim Sharif's avatar Hashim Sharif
Browse files

Backing up Power Measurement script

parent 10cb63ec
No related branches found
No related tags found
No related merge requests found
import sys
import numpy as np
import subprocess
def get_avg_power(f_name):
f = open(f_name, "r")
gpu_power = []
ddr_power = []
sys_power = []
for x in f:
toks = x.split()
gpu_power.append(float(toks[1]))
ddr_power.append(float(toks[2]))
sys_power.append(float(toks[3]))
avg_gpu_power = np.mean(gpu_power)
avg_ddr_power = np.mean(ddr_power)
avg_sys_power = np.mean(sys_power)
print ("** avg_gpu_power = ", avg_gpu_power, " avg_ddr_power = ", \
avg_ddr_power, " avg_sys_power = ", avg_sys_power)
return (avg_gpu_power, avg_ddr_power, avg_sys_power)
#avail_frequencies = [140250000, 229500000, 318750000, 408000000, 497250000,
# 586500000, 675750000, 765000000, 854250000,
# 943500000, 1032750000, 1122000000, 1211250000, 1300500000];
avail_frequencies = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
if __name__ == "__main__":
programs = ["alexnet_promise", "alexnet2_promise", "vgg16_cifar10_promise", "resnet18_promise", "resnet50_imagenet_promise", "mobilenet_promise", "vgg16_imagenet_promise"]
for binary_path in programs:
power_avgs = []
power_freq_file = "power_data/" + binary_path + "/power_vals.txt"
fout = open(power_freq_file, "w+")
for frequency in avail_frequencies:
print (frequency)
poll_path = "./poll"
iterations = 10
poll_cmd = poll_path + " " + str(frequency) # sudo needed for frequency change
subprocess.call(poll_cmd, shell=True)
binary_path = "./" + binary_path
power_file = " power_data/" + binary_path + "/power.out." + str(frequency)
profile_cmd = "../../system_profiler/build/offline_profiler " + binary_path + " " + \
str(iterations) + " tensor.out." + str(frequency) + power_file
subprocess.call(profile_cmd, shell=True)
#avg_power = get_avg_power("power.out." + str(frequency))
avg_power = get_avg_power(power_file)
power_avgs.append(avg_power)
fout.write(str(avg_power[0]) + " " + str(avg_power[1]) + " " + str(avg_power[2]) + "\n")
print (avg_power)
print (power_avgs)
fout.close()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment