#!/bin/csh #set DBASE=../stream.db grep -v ^\# q.db set DBASE=q.db set WWW=~mccalpin/STREAM/www # Field Key: # 1 name # 2 ncpus # 3 bytes/word # 4 COPY # 5 SCALE # 6 ADD # 7 TRIAD # 8 Clock (MHz) # 9 Peak FP Ops/clock # 10 shared memory? # 11 distributed memory? # 12 Uniprocessor? # 13 Other? # 14 Experimental or assembly language results? # 15 obsolete/old/superceded? # 16 unused #======================================================================= # First, get the names of # SMP machines, but *not* 32-bit values, experimental, obsolete, # missing the TRIAD value, or missing the Peak FP Ops/clock value echo "Getting current SMP results" set NAMES=`nawk -F, '($10=="Y" && $3>4 && $14=="N" && $15=="N" && $7 > 0.0 && $8 > 0.0 && $9 > 0.0) {print $1}' < $DBASE | sort | uniq` # remember to filter out 4-byte results and missing TRIAD values here echo "Putting results in files in smp subdirectory" rm -f smp/* foreach i ( $NAMES ) grep $i $DBASE | nawk -F, '$3>4 && $7 > 0.0 {print $7/12.,$2*$8*$9/($7/8.0)}' >smp/$i || echo $i end echo "Building gnuplot command file" cd smp /bin/ls >../smp.files cd .. ./gnuscript smp.script echo "Running gnuplot and building pbm file" cd smp gnuplot ../smp.script mv out.pbm ../smp.pbm mv out.ps ../smp.ps cd .. echo "Translating to GIF format" ppmtogif smp.pbm >smp.gif cp smp.gif $WWW/balance/ rm smp.pbm cd smp foreach i (*) cat $i >> All echo "" >> All end cd .. #======================================================================= # Second, get the names of # Uniprocessor machines, but *not* 32-bit values, experimental, obsolete, # missing the TRIAD value, or missing the Peak FP Ops/clock value echo "Getting current UNI results" set NAMES=`nawk -F, '($12=="Y" && $3>4 && $14=="N" && $15=="N" && $7 > 0.0 && $8 > 0.0 && $9 > 0.0) {print $1}' < $DBASE | sort | uniq` # remember to filter out 4-byte results and missing TRIAD values here echo "Putting results in files in uni subdirectory" rm -f uni/* foreach i ( $NAMES ) grep $i $DBASE | nawk -F, '$3>4 && $7 > 0.0 {print $7/12.,$2*$8*$9/($7/8.0)}' >>uni/All || echo $i end echo "Building gnuplot command file" cd uni /bin/ls >../uni.files cd .. ./gnuscript uni.script echo "Running gnuplot and building pbm file" cd uni gnuplot ../uni.script mv out.pbm ../uni.pbm mv out.ps ../uni.ps cd .. echo "Translating to GIF format" ppmtogif uni.pbm >uni.gif cp uni.gif $WWW/balance/ rm uni.pbm #======================================================================= # Third, get the names of # Distributed memory machines, but *not* 32-bit values, experimental, # obsolete, # missing the TRIAD value, or missing the Peak FP Ops/clock value echo "Getting current MIMD results" set NAMES=`nawk -F, '($11=="Y" && $3>4 && $14=="N" && $15=="N" && $7 > 0.0 && $8 > 0.0 && $9 > 0.0) {print $1}' < $DBASE | sort | uniq` # remember to filter out 4-byte results and missing TRIAD values here echo "Putting results in files in mimd subdirectory" rm -f mimd/* foreach i ( $NAMES ) grep $i $DBASE | nawk -F, '$3>4 && $7 > 0.0 {print $7/12.,$2*$8*$9/($7/8.0)}' >mimd/$i || echo $i end echo "Building gnuplot command file" cd mimd /bin/ls >../mimd.files cd .. ./gnuscript mimd.script echo "Running gnuplot and building pbm file" cd mimd gnuplot ../mimd.script mv out.pbm ../mimd.pbm mv out.ps ../mimd.ps cd .. echo "Translating to GIF format" ppmtogif mimd.pbm >mimd.gif cp mimd.gif $WWW/balance/ rm mimd.pbm cd mimd foreach i (*) cat $i >> All echo "" >> All end cd .. # Now get all the "All" files and build a single graph of MFLOPS vs Balance. gnuplot All.script ppmtogif All.pbm >All.gif rm All.pbm