# #! NTHREADS=80 NSTAT=1 # FILE1=make_tbbtime.dat FILE1="make_tbbtime"$1".dat" PREF0=`pwd` PREF1=$PREF0/../"bin" FILE1=$PREF0/$FILE1 echo -e "$NTHREADS $NSTAT 1\n" > $FILE1 echo -e " --- single ---" >> $FILE1 echo -e "Prep[us], CPU fit/tr[us], Real fit/tr[us], CPU[sec], Real[sec] = 0 0.38335 0.38337 76.67 76.6746" >> $FILE1 echo -e " --- tbb ---" >> $FILE1 cd $PREF0/..; make cd $PREF0 for iProc in {0..3} do for ii in {0..7} do threadNumberToCpuMap[$(( 2 * ii + 0 + iProc*20))]=$((4 * ii + iProc)); threadNumberToCpuMap[$(( 2 * ii + 1 + iProc*20))]=$((4*$ii + 32 + $iProc)); done for ii in {0..1} do threadNumberToCpuMap[$((2*ii + 0 + 16 + iProc*20))]=$((4*ii + iProc + 64)); threadNumberToCpuMap[$((2*ii + 1 + 16 + iProc*20))]=$((4*ii + 8 + iProc + 64)); done done # for iProc in {0..79} # do # echo ${threadNumberToCpuMap[ $iProc ]} # done i=1 while [ $i -le $NTHREADS ] do j=1 while [ $j -le $NSTAT ] do echo -e " tbb $i - $j\n" echo -e "$i: \t" >> $FILE1 cd $PREF0; cd .. CoreList="${threadNumberToCpuMap[0]}" iProc=1 while [ $iProc -le $((i-1)) ] do CoreList=$CoreList,${threadNumberToCpuMap[iProc]} iProc=`expr $iProc + 1` done echo $CoreList taskset -c $CoreList env ARBB_OPT_LEVEL=O3 bin/fit -nThreads $i >> $FILE1 j=`expr $j + 1` done i=`expr $i + 1` done