| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | #!/bin/bash# StarPU --- Runtime system for heterogeneous multicore architectures.## Copyright (C) 2009-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria## StarPU is free software; you can redistribute it and/or modify# it under the terms of the GNU Lesser General Public License as published by# the Free Software Foundation; either version 2.1 of the License, or (at# your option) any later version.## StarPU is distributed in the hope that it will be useful, but# WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.## See the GNU Lesser General Public License in COPYING.LGPL for more details.#maxiter=2# Testing another specific scheduler, no need to run this[ -z "$STARPU_SCHED" -o "$STARPU_SCHED" = dm -o "$STARPU_SCHED" = dmda ] || exit 77calibrate_point(){	strat=$1	nblocks=$2	prefetch=$3	size=$(($nblocks * 1024))	echo "STARPU_CALIBRATE size : $size / blocks : $nblocks strat -> $strat prefetch -> $prefetch"	rm -f $SAMPLINGDIR/*		for iter in `seq 1 $maxiter`	do		echo "$iter / $maxiter"		export STARPU_SCHED=$strat		export STARPU_CALIBRATE=1		export STARPU_PREFETCH=$prefetch		val=`$STARPU_LAUNCH $ROOTDIR/examples/heat/heat -pin -nblocks $nblocks -size $size -v3 2> /dev/null`		echo "$val"	done}DIR=$PWDROOTDIR=$DIR/../..TIMINGDIR=$DIR/timings_dmda/SAMPLINGDIR=$DIR/sampling/export STARPU_PERF_MODEL_DIR=$SAMPLINGDIRmkdir -p $TIMINGDIRmkdir -p $SAMPLINGDIR#schedlist="ws lws no-prio greedy prio dm random"#schedlist="random random random random"export STARPU_NCUDA=3export STARPU_NCPUS=8 #sizelist="2048 4096 6144 8192 10240 12288 14336 16384 24576 28672 30720"sizelist=`seq 2048 2048 30720`outputfile=dmda.datarm -f $outputfilefor size in $sizelistdo	nblocks=$(($size / 1024))	calibrate_point "dm" $nblocks 1	export STARPU_SCHED="dm"	export STARPU_CALIBRATE=1	export STARPU_PREFETCH=1	valdm=$($STARPU_LAUNCH $ROOTDIR/examples/heat/heat -pin -size $size -nblocks $nblocks -v3 2> logdm)	calibrate_point "dmda" $nblocks 1	export STARPU_SCHED="dmda"	export STARPU_CALIBRATE=1	export STARPU_PREFETCH=1	valdmda=$($STARPU_LAUNCH $ROOTDIR/examples/heat/heat -pin -size $size -nblocks $nblocks -v3 2> logdmda)		dmmiss=`grep "TOTAL MSI" logdm|sed -e "s/.*miss.*[1-9]* (\(.*\) %)/\1/"`	dmtotal=`grep "TOTAL transfers" logdm|sed -e "s/TOTAL transfers \(.*\) MB/\1/"`	dmdamiss=`grep "TOTAL MSI" logdmda|sed -e "s/.*miss.*[1-9]* (\(.*\) %)/\1/"`	dmdatotal=`grep "TOTAL transfers" logdmda|sed -e "s/TOTAL transfers \(.*\) MB/\1/"`	echo "$size	$dmmiss	$dmdamiss	$dmtotal	$dmdatotal	$valdm	$valdmda" >> $outputfile	echo "$size	$dmmiss	$dmdamiss	$dmtotal	$dmdatotal	$valdm	$valdmda" done
 |