initial commit
This commit is contained in:
52
multiThreading/run_cmp.sh
Normal file
52
multiThreading/run_cmp.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env sh
|
||||
set -eu
|
||||
|
||||
# Paths (your setup)
|
||||
GEM5=/home/carlos/projects/gem5/gem5src/gem5
|
||||
BIN="$GEM5/build/X86/gem5.opt"
|
||||
SE="$GEM5/configs/deprecated/example/se.py" # SMT broken here; CMP is fine
|
||||
|
||||
# Workloads (one per core)
|
||||
CMD1=/home/carlos/projects/gem5/gem5-run/memtouch/memtouch
|
||||
CMD2=/home/carlos/projects/gem5/gem5-run/memtouch/memtouch
|
||||
CMD3=/bin/ls
|
||||
CMD4=/bin/echo
|
||||
|
||||
ROOT=/home/carlos/projects/gem5/gem5-data/results/smt
|
||||
mkdir -p "$ROOT"
|
||||
|
||||
BP=LTAGE
|
||||
MAXI=20000000 # 20M insts per experiment
|
||||
L1I=32kB; L1D=32kB; L2=1MB
|
||||
|
||||
run_cfg () {
|
||||
NAME=$1
|
||||
NCPUS=$2
|
||||
CMDS=$3
|
||||
OUT="$ROOT/$NAME"
|
||||
mkdir -p "$OUT"
|
||||
echo "[*] $NAME -> $OUT"
|
||||
|
||||
"$BIN" --outdir="$OUT" \
|
||||
"$SE" \
|
||||
--cmd="$CMDS" \
|
||||
--cpu-type=DerivO3CPU \
|
||||
--num-cpus="$NCPUS" \
|
||||
--caches --l2cache \
|
||||
--l1i_size="$L1I" --l1d_size="$L1D" --l2_size="$L2" \
|
||||
--bp-type="$BP" \
|
||||
--maxinsts="$MAXI" \
|
||||
> "$OUT/simout" 2> "$OUT/simerr"
|
||||
}
|
||||
|
||||
# ST1: 1 core (baseline)
|
||||
run_cfg ST1 1 "$CMD1"
|
||||
|
||||
# CMP2: 2 cores, shared L2 (parallelism via cores)
|
||||
# Note: pass two commands separated by ';' (se.py maps one per CPU)
|
||||
run_cfg CMP2 2 "$CMD1;$CMD2"
|
||||
|
||||
# CMP4: 4 cores, shared L2
|
||||
run_cfg CMP4 4 "$CMD1;$CMD2;$CMD3;$CMD4"
|
||||
|
||||
echo "[*] CMP sweep complete."
|
||||
Reference in New Issue
Block a user