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

19 lines
687 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. allowed negative relative impact on average performances'
echo '# 2 energy-optimal GPU clock frequency (MHz)'
for eps in $(seq 1 -0.01 0); do
awk -v max="$(awk '!/#/{print 0.5*($7+$8)}' "${table}" | datamash max 1)" \
-v eps="${eps}" \
'BEGIN{beste=1000;} !/#/{if ((0.5*($7+$8)/max >= eps) && ($3 < beste)){beste = $3; c = $1}} END{print (1 - eps)" "c}'\
"${table}"
done