19 lines
672 B
Bash
19 lines
672 B
Bash
|
#!/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
|