consume.cu
is a simple cuda program that allocates a bunch of GPU memory, touches it, and then sleeps infinitely until stopped. Note: If using UVM mode, it will take a while for the kernel touching the memory to complete and for all the data to fully move over to the GPU.
- Build, then cd to build/lonestardist
- Run test harness:
for i in $(seq 1 RUNS); do ctest -R gpu | grep run- | grep Passed > ~/CASE/$i.txt; done
- Extract meaningful columns:
cd ~/CASE; for i in $(seq 1 RUNS); do sed -r 's/([[:digit:]]+).+Passed (.+) sec/\1 \2/' $i.txt > col_$i.txt; done
- Average the runs together, sort:
cd ~/CASE; cat col_*.txt | awk -f ~/avg.awk | sort -n > averaged.txt
- See report by test number:
pr -mt ~/CASE1/averaged.txt ~/CASE2/averaged.txt | awk -f compare.awk
- relabel from test id -> test type, average, sort again:
cd ~/CASE; awk -f ~/relabel.awk averaged.txt | awk -f ~/avg.awk | sort > byalgo.txt
- See report by algorithm:
pr -mt ~/CASE1/byalgo.txt ~/CASE2/byalgo.txt | awk -f compare.awk