Epsilon constraint on power

This commit is contained in:
Antonin Portelli 2022-09-08 14:27:12 +01:00
parent 2d9f898c1a
commit 680e27d0c9
7 changed files with 232 additions and 2 deletions

105
c0-eps-power.dat Normal file
View File

@ -0,0 +1,105 @@
# Columns
# -------
# 1 epsilon, i.e. relative reduction of power draw
# 2 performance-optimal GPU clock frequency (MHz)
0 1410
0.01 1395
0.02 1380
0.03 1365
0.04 1365
0.05 1365
0.06 1350
0.07 1320
0.08 1305
0.09 1290
0.1 1275
0.11 1245
0.12 1245
0.13 1230
0.14 1200
0.15 1200
0.16 1155
0.17 1125
0.18 1095
0.19 1080
0.2 1050
0.21 1020
0.22 1005
0.23 975
0.24 915
0.25 840
0.26 840
0.27 780
0.28 720
0.29 690
0.3 630
0.31 360
0.32 255
0.33 NaN
0.34 NaN
0.35 NaN
0.36 NaN
0.37 NaN
0.38 NaN
0.39 NaN
0.4 NaN
0.41 NaN
0.42 NaN
0.43 NaN
0.44 NaN
0.45 NaN
0.46 NaN
0.47 NaN
0.48 NaN
0.49 NaN
0.5 NaN
0.51 NaN
0.52 NaN
0.53 NaN
0.54 NaN
0.55 NaN
0.56 NaN
0.57 NaN
0.58 NaN
0.59 NaN
0.6 NaN
0.61 NaN
0.62 NaN
0.63 NaN
0.64 NaN
0.65 NaN
0.66 NaN
0.67 NaN
0.68 NaN
0.69 NaN
0.7 NaN
0.71 NaN
0.72 NaN
0.73 NaN
0.74 NaN
0.75 NaN
0.76 NaN
0.77 NaN
0.78 NaN
0.79 NaN
0.8 NaN
0.81 NaN
0.82 NaN
0.83 NaN
0.84 NaN
0.85 NaN
0.86 NaN
0.87 NaN
0.88 NaN
0.89 NaN
0.9 NaN
0.91 NaN
0.92 NaN
0.93 NaN
0.94 NaN
0.95 NaN
0.96 NaN
0.97 NaN
0.98 NaN
0.99 NaN
1 NaN

View File

@ -9,5 +9,7 @@ echo '-- make result tables...'
./make-result-table.sh jobs.db size_loc32 2-racks/rack-power.db run_220822 > loc32.dat
echo '-- make eps-constraint tables...'
./make-epsilon-table.sh c0.dat > c0-eps.dat
./make-epsilon-table.sh loc32.dat > loc32-eps.dat
./make-perf-epsilon-table.sh c0.dat > c0-eps-perf.dat
./make-perf-epsilon-table.sh loc32.dat > loc32-eps-perf.dat
./make-power-epsilon-table.sh c0.dat > c0-eps-power.dat
./make-power-epsilon-table.sh loc32.dat > loc32-eps-power.dat

105
loc32-eps-power.dat Normal file
View File

@ -0,0 +1,105 @@
# Columns
# -------
# 1 epsilon, i.e. relative reduction of power draw
# 2 performance-optimal GPU clock frequency (MHz)
0 1410
0.01 1395
0.02 1395
0.03 1365
0.04 1365
0.05 1365
0.06 1350
0.07 1350
0.08 1335
0.09 1335
0.1 1320
0.11 1290
0.12 1290
0.13 1275
0.14 1260
0.15 1230
0.16 1230
0.17 1215
0.18 1200
0.19 1170
0.2 1155
0.21 1140
0.22 1110
0.23 1095
0.24 1065
0.25 1050
0.26 1020
0.27 975
0.28 930
0.29 885
0.3 855
0.31 825
0.32 780
0.33 720
0.34 690
0.35 645
0.36 465
0.37 435
0.38 405
0.39 375
0.4 360
0.41 330
0.42 315
0.43 300
0.44 270
0.45 255
0.46 240
0.47 225
0.48 210
0.49 NaN
0.5 NaN
0.51 NaN
0.52 NaN
0.53 NaN
0.54 NaN
0.55 NaN
0.56 NaN
0.57 NaN
0.58 NaN
0.59 NaN
0.6 NaN
0.61 NaN
0.62 NaN
0.63 NaN
0.64 NaN
0.65 NaN
0.66 NaN
0.67 NaN
0.68 NaN
0.69 NaN
0.7 NaN
0.71 NaN
0.72 NaN
0.73 NaN
0.74 NaN
0.75 NaN
0.76 NaN
0.77 NaN
0.78 NaN
0.79 NaN
0.8 NaN
0.81 NaN
0.82 NaN
0.83 NaN
0.84 NaN
0.85 NaN
0.86 NaN
0.87 NaN
0.88 NaN
0.89 NaN
0.9 NaN
0.91 NaN
0.92 NaN
0.93 NaN
0.94 NaN
0.95 NaN
0.96 NaN
0.97 NaN
0.98 NaN
0.99 NaN
1 NaN

18
make-power-epsilon-table.sh Executable file
View File

@ -0,0 +1,18 @@
#!/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