Files
SmartEdgeAI/scripts/30_extract_csv.sh
2025-10-05 02:27:52 +00:00

31 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -eu
. "$(dirname "$0")/00_env.sh"
CSV_DATA="$OUT_DATA/summary.csv"
CSV_IOT="$OUT_IOT/summary.csv"
echo "workload,core,dvfs,l2,drowsy,sim_seconds,ipc,cycles,insts,l2_miss_rate" > "$CSV_DATA"
for d in "$OUT_DATA"/*; do
[ -d "$d" ] || continue
base=$(basename "$d")
W=$(echo "$base" | cut -d'_' -f1)
CORE=$(echo "$base" | cut -d'_' -f2)
DVFS=$(echo "$base" | cut -d'_' -f3)
L2=$(echo "$base" | sed -E 's/.*_l2([^_]+).*/\1/')
DROW=$(echo "$base" | sed -E 's/.*_d([01]).*/\1/')
S="$d/stats.txt"
SIMS=$(awk '/^sim_seconds/ {print $2}' "$S")
IPC=$(awk '/^system\.cpu\.ipc|^system\.cpu0\.ipc/ {print $2}' "$S" | head -n1)
CYC=$(awk '/^system\.cpu\.numCycles|^system\.cpu0\.numCycles/ {print $2}' "$S" | head -n1)
INST=$(awk '/^system\.cpu\.commit\.committedInsts|^system\.cpu0\.commit\.committedInsts/ {print $2}' "$S" | head -n1)
L2MR=$(awk '/^system\.l2\.overall_miss_rate::total/ {print $2}' "$S")
echo "$W,$CORE,$DVFS,$L2,$DROW,$SIMS,$IPC,$CYC,$INST,$L2MR" >> "$CSV_DATA"
done
cp "$CSV_DATA" "$CSV_IOT"
echo "[extract] wrote $CSV_DATA and mirrored to $CSV_IOT"