blob: 27f7d750f0a9584bc8d082d0af709ac3641a5990 [file] [log] [blame]
#!/bin/bash
NUM_RUNS=1
NUM_CS_ITERS=10
EXECUTABLES="allSyncPrims-1kernel"
SYNCPRIMS="atomicTreeBarrUniq atomicTreeBarrUniqLocalExch lfTreeBarrUniq lfTreeBarrUniqLocalExch spinMutex spinMutexEBO faMutex sleepMutex spinSem10 spinSemEBO10 spinMutexUniq spinMutexEBOUniq faMutexUniq sleepMutexUniq spinSemUniq10 spinSemEBOUniq10" # syncPrims to run
#NUM_LDST="10 100 1000"
NUM_LDST="10"
# This GPU has 2 CUs, so want 1 WG/CU, 2 WG/CU, 4 WG/CU, 8 WG/CU (max allowed)
NUM_WGS="2 4 8 16"
# do the prescribed number of runs for each executable, print out all runtimes
for executable in $EXECUTABLES;
do
echo "Beginning $executable's tests"
for syncPrim in $SYNCPRIMS;
do
echo -e "\tsyncPrim = $syncPrim"
for numLdSt in $NUM_LDST
do
echo -e "\t\tnumLdSt = $numLdSt"
for numWGs in $NUM_WGS
do
echo -e "\t\t\tnumWGs = $numWGs"
# ./allSyncPrims-1kernel <syncPrim> <numLdSt> <numWGs> <numCSIters>
echo -e "\t\t\t\t./$executable $syncPrim $numLdSt $numWGs $NUM_CS_ITERS"
for (( j=0; j<$NUM_RUNS; j++ ))
do
#echo -e "\t\t\tRun $j"
duration[$j]=0
duration[$j]=`./$executable $syncPrim $numLdSt $numWGs $NUM_CS_ITERS | grep "average" | cut -f3 -d: | cut -f1 -dm`
#echo -e "\t\t\t\tduration = ${duration[$j]}"
done
# print out all runtimes, comma separated, for this executable
echo -n -e "\t\t\t\t\tAll durations for $executable: "
for (( j=0; j<$NUM_RUNS; j++ ))
do
echo -n "${duration[$j]}, "
done
echo "" # newline
# average the duration for these threads
threadnum_duration=0
for (( j=0; j<$NUM_RUNS; j++ ))
do
#echo -e "\tBeginning $j""th run's write"
threadnum_duration=`echo $threadnum_duration"+"${duration[$j]}"/"$NUM_RUNS|bc -l`
done
echo -e "\t\t\t\tAverage = $threadnum_duration"
done
done
done
done