#!/bin/bash # H5 first evidence (single node): powermetrics package power sampled at 1 s while bench_decode runs four configurations. cd "$(dirname "$0")/../.." M=$(ls -d ~/.cache/huggingface/hub/models--mlx-community--OLMoE-1B-7B-0125-Instruct-4bit/snapshots/*) OUT=benchmarks/raw/gateG/energy_laptop; mkdir -p $OUT echo "$SUDO_PW" | sudo -S -v 2>/dev/null sudo -n powermetrics --samplers cpu_power,gpu_power,thermal -i 1000 -f plist 2>/dev/null | .venv/bin/python benchmarks/scripts/power_sampler.py --out $OUT/power.jsonl & PM=$! sleep 8 # idle baseline .venv/bin/python benchmarks/scripts/bench_decode.py --model $M --backend mlx_lm --families general,code --split heldout --repeats 3 --max-tokens 256 --tag energy --out $OUT/bench.jsonl 2>&1 | grep -v Fetching | tail -1 sleep 5 .venv/bin/python benchmarks/scripts/bench_decode.py --model $M --backend titan --capacity 64 --families general,code --split heldout --repeats 3 --max-tokens 256 --tag energy --out $OUT/bench.jsonl 2>&1 | grep -v Fetching | tail -1 sleep 5 echo "$SUDO_PW" | sudo -S purge 2>/dev/null; sleep 3 .venv/bin/python benchmarks/scripts/bench_decode.py --model $M --backend titan --capacity 16 --nocache --families general,code --split heldout --repeats 3 --max-tokens 256 --tag energy --out $OUT/bench.jsonl 2>&1 | grep -v Fetching | tail -1 sleep 5 echo "$SUDO_PW" | sudo -S purge 2>/dev/null; sleep 3 .venv/bin/python benchmarks/scripts/bench_decode.py --model $M --backend titan --capacity 16 --nocache --predictor probe --m 8 --traces benchmarks/raw/gateC/traces_olmoe_v2_laptop --families general,code --split heldout --repeats 3 --max-tokens 256 --tag energy --out $OUT/bench.jsonl 2>&1 | grep -v Fetching | tail -1 sleep 8 # idle tail sudo -n pkill powermetrics; kill $PM 2>/dev/null echo ENERGY-DONE