Files
SmartEdgeAI/scripts/00_env.sh
2025-10-05 01:59:00 +00:00

49 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -eu
ROOT="/home/carlos/projects/gem5"
IOT="$ROOT/iot"
DATA="$ROOT/gem5-data" # persistent store (your symlink)
RUN="$ROOT/gem5-run" # workloads
CFG="$ROOT/scripts/hetero_big_little.py" # gem5 config script
# auto-detect gem5.opt (ARM or ARM64)
if [ -x "$ROOT/build/ARM/gem5.opt" ]; then
GEM5="$ROOT/build/ARM/gem5.opt"
elif [ -x "$ROOT/gem5-build/ARM/gem5.opt" ]; then
GEM5="$ROOT/gem5-build/ARM/gem5.opt"
elif [ -x "$ROOT/gem5-build/ARM64/gem5.opt" ]; then
GEM5="$ROOT/gem5-build/ARM64/gem5.opt"
else
echo "[env] gem5.opt not found. Build it with:"
echo " scons build/ARM/gem5.opt -j\$(nproc)"
exit 2
fi
# primary outputs in gem5-data, mirrored into iot/
OUT_DATA="$DATA/SmartEdgeAI/results"
LOG_DATA="$DATA/SmartEdgeAI/logs"
OUT_IOT="$IOT/results"
LOG_IOT="$IOT/logs"
# ensure directories
mkdir -p "$OUT_DATA" "$LOG_DATA" "$OUT_IOT" "$LOG_IOT"
# export for child scripts
export ROOT IOT DATA RUN CFG GEM5 OUT_DATA LOG_DATA OUT_IOT LOG_IOT
# minimal env log
{
echo "==== env ===="
echo "ROOT=$ROOT"
echo "GEM5=$GEM5"
echo "CFG=$CFG"
echo "RUN=$RUN"
echo "OUT_DATA=$OUT_DATA"
echo "LOG_DATA=$LOG_DATA"
date
} >> "$LOG_IOT/env.txt"
echo "[env] READY"