Adding scripts, commands, and logging scaffolding
This commit is contained in:
30
scripts/extract_csv.sh
Executable file
30
scripts/extract_csv.sh
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
set -eu
|
||||
. "$(dirname "$0")/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"
|
||||
|
||||
Reference in New Issue
Block a user