tursa-energy-efficiency/make-power-epsilon-table.sh

19 lines
672 B
Bash
Executable File

#!/usr/bin/env bash
if (( $# != 1 )); then
echo "usage: $(basename "$0") <result table" 1>&2
exit 1
fi
table=$1
echo '# Columns'
echo '# -------'
echo '# 1 epsilon, i.e. relative reduction of power draw'
echo '# 2 performance-optimal GPU clock frequency (MHz)'
for eps in $(seq 1 -0.01 0); do
awk -v max="$(awk '!/#/{print $4}' "${table}" | datamash max 1)" \
-v eps="${eps}" \
'BEGIN{bestp=0;c="NaN"} !/#/{if (($4/max <= eps) && (0.5*($7+$8) > bestp)){bestp = 0.5*($7+$8); c = $1}} END{print (1 - eps)" "c}'\
"${table}"
done