Modifying scripts

This commit is contained in:
Carlos Gutierrez
2025-10-04 22:05:52 -04:00
parent c8077ae1ac
commit b69c9050f5
5 changed files with 106 additions and 106 deletions

View File

@@ -1,30 +1,34 @@
#!/usr/bin/env python3
import os, csv
import matplotlib.pyplot as plt
import csv
import os
from collections import defaultdict
ROOT="/home/carlos/projects/gem5"
OUT_DATA=os.path.join(ROOT,"gem5-data","SmartEdgeAI","results")
OUT_IOT =os.path.join(ROOT,"iot","results")
src=os.path.join(OUT_DATA,"summary_energy.csv")
out_data=os.path.join(OUT_DATA,"fig_epi_across_workloads.png")
out_iot =os.path.join(OUT_IOT ,"fig_epi_across_workloads.png")
import matplotlib.pyplot as plt
epi_by_core=defaultdict(list)
ROOT = "/home/carlos/projects/gem5"
OUT_DATA = os.path.join(ROOT, "gem5-data", "SmartEdgeAI", "results")
OUT_IOT = os.path.join(ROOT, "iot", "results")
src = os.path.join(OUT_DATA, "summary_energy.csv")
out_data = os.path.join(OUT_DATA, "fig_epi_across_workloads.png")
out_iot = os.path.join(OUT_IOT, "fig_epi_across_workloads.png")
epi_by_core = defaultdict(list)
with open(src) as f:
r=csv.DictReader(f)
r = csv.DictReader(f)
for row in r:
insts=float(row['insts']); energy=float(row['energy_J'])
epi = 1e12*energy/insts if insts>0 else 0.0
epi_by_core[row['core']].append(epi)
insts = float(row["insts"])
energy = float(row["energy_J"])
epi = 1e12 * energy / insts if insts > 0 else 0.0
epi_by_core[row["core"]].append(epi)
cores=['big','little','hybrid']
vals=[sum(epi_by_core[c])/max(1,len(epi_by_core[c])) for c in cores]
cores = ["big", "little", "hybrid"]
vals = [sum(epi_by_core[c]) / max(1, len(epi_by_core[c])) for c in cores]
plt.figure()
plt.bar(cores, vals)
plt.ylabel('EPI (pJ/inst)')
plt.title('Energy per Instruction across workloads (avg by core mode)')
plt.tight_layout(); plt.savefig(out_data); plt.savefig(out_iot)
plt.ylabel("EPI (pJ/inst)")
plt.title("Energy per Instruction across workloads (avg by core mode)")
plt.tight_layout()
plt.savefig(out_data)
plt.savefig(out_iot)
print(f"[plot] wrote {out_data} and mirrored to {out_iot}")