Add flash utilization
This commit is contained in:
42
sims/vcs/scripts/utilization.flash.sh
Executable file
42
sims/vcs/scripts/utilization.flash.sh
Executable file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echoerr() { echo "$@" 1>&2; }
|
||||||
|
|
||||||
|
CURRENT_DIR="${PWD##*/}"
|
||||||
|
if [[ "$CURRENT_DIR" != "vcs" ]]; then
|
||||||
|
echoerr "Error: This script must be run from chipyard/sims/vcs."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
source ./scripts/env.sh > /dev/null
|
||||||
|
|
||||||
|
rm -f /tmp/markers.log
|
||||||
|
runtime() {
|
||||||
|
log_path="output/chipyard.harness.TestHarness.$1/kernel.radiance.$2.log"
|
||||||
|
check_exists "${log_path}"
|
||||||
|
if [ -z "$(tail -n10 ${log_path} | rg 'finish called')" ]; then
|
||||||
|
echo "$3,0"
|
||||||
|
echoerr "$3 run is not complete"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
rg "(e0d0a013|be90a013)" ${log_path} > /tmp/markers.log
|
||||||
|
echo -n "$3,"
|
||||||
|
cycles=$(python3 ./scripts/runtime_fast.py /tmp/markers.log)
|
||||||
|
echo "$cycles"
|
||||||
|
util=$(echo "scale=2; 64 * 64 * 64 * 100 / $cycles" | bc)
|
||||||
|
echoerr "$3 cycles: $cycles, hw utilization: ${util}%"
|
||||||
|
rm -f /tmp/markers.log
|
||||||
|
}
|
||||||
|
|
||||||
|
check_exists() {
|
||||||
|
if ! [ -f "$1" ]; then
|
||||||
|
echoerr "Error: looked for file $1 that does not exist."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
echo ",cycles"
|
||||||
|
runtime VirgoFlashConfig flash.virgo.seqlen1024.headdim64 "virgo"
|
||||||
|
runtime VirgoFlashConfig flash.ampere.seqlen1024.headdim64 "ampere"
|
||||||
Reference in New Issue
Block a user