| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 | #!/bin/bash# StarPU --- Runtime system for heterogeneous multicore architectures.## Copyright (C) 2011                                     Inria# Copyright (C) 2012,2017                                CNRS## 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.#infilename=$1outfilename=$2withctx=$3compute_effic=$4ninstr=$5best_gflops_withoutctxs=$6rm -rf $outfilenamewhile read linedo     results=($line)    gflops1=0    gflops2=0    t1=0    t2=0    if [ $withctx -eq 1 ]    then	gpu=${results[0]}	gpu1=${results[1]}	gpu2=${results[2]}	ncpus1=${results[3]}	ncpus2=${results[4]}	gflops1=${results[5]}	gflops2=${results[6]}	t1=${results[7]}	t2=${results[8]}	maxtime=$(echo "$t1/$t2"|bc -l)	maxtime=${maxtime/.*} 	if [ "$maxtime" == "" ]	then	    maxtime=$t2	else	    maxtime=$t1	fi	gflops=$(echo "$ninstr/$maxtime"|bc -l)	if [ $compute_effic -eq 1 ]	then	    gflops_norm=$(echo "$gflops/$best_gflops_withoutctxs"|bc -l)	    	    echo "$gpu $gpu1 $gpu2 $ncpus1 $ncpus2 `printf '%2.2f %2.2f' $gflops $gflops_norm`" >> $outfilename$gpu1$gpu2	else	    nres=$(echo "$gpu+$gpu1+$gpu2+$ncpus1+$ncpus2"|bc -l)	    best_gflops_rate=$(echo "$best_gflops_withoutctxs/$nres"|bc -l)	    gflop_rate=$(echo "$gflops/$nres"|bc -l)	    gflop_norm_rate=$(echo "$gflop_rate/$best_gflops_rate"|bc -l)	    	    echo "$ncpus1 $ncpus2 `printf '%2.2f %2.2f %2.2f' $gflops $gflop_rate $gflop_norm_rate`" >> $outfilename  	fi    else	nres=${results[0]}	gflops1=${results[1]}	gflops2=${results[2]}	t1=${results[3]}	t2=${results[4]}	maxtime=$(echo "$t1/$t2"|bc -l)	maxtime=${maxtime/.*} 	if [ "$maxtime" == "" ]	then	    maxtime=$t2	else	    maxtime=$t1	fi	gflops=$(echo "$ninstr/$maxtime"|bc -l)	if [ $compute_effic -eq 1 ]	then	    echo "$nres `printf '%2.2f' $gflops`" >> $outfilename	else	    gflop_rate=$(echo "$gflops/$nres"|bc -l)	    echo "$nres `printf '%2.2f %2.2f' $gflops $gflop_rate`" >> $outfilename	fi	    fidone < $infilename
 |