#!/usr/bin/env python3 import os, csv import matplotlib.pyplot as plt 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_tinyml_edp.png") out_iot =os.path.join(OUT_IOT ,"fig_tinyml_edp.png") labels=[]; edps=[] with open(src) as f: r=csv.DictReader(f) for row in r: if row['workload']!='tinyml_kws': continue labels.append(f"{row['core']}-{row['dvfs']}-L2{row['l2']}-d{row['drowsy']}") edps.append(float(row['edp'])) plt.figure() plt.bar(labels, edps) plt.ylabel('EDP (J·s)') plt.title('TinyML: EDP by configuration') plt.xticks(rotation=60, ha='right') plt.tight_layout(); plt.savefig(out_data); plt.savefig(out_iot) print(f"[plot] wrote {out_data} and mirrored to {out_iot}")