📄 runtests.in
字号:
#! /bin/sh# This version puts the output from each program into a separate file.# -mvhome is needed for the ANL SP, and is ignored by othersargs=@MPIRUNARGS@device=@DEVICE@top_srcdir=@top_srcdir@srcdir=@srcdir@MPICH_VERSION=@MPICH_VERSION@STOPFILE=$HOME/.stopmpichtestsmpirun=${MPIRUN:-"@MPIRUN@"}MAKE="@MAKE@"MPIRUNMVBACK='@MPIRUNMVBACK@'## Load basic procedures. ${top_srcdir}/runbase## Set mpirun to the name/path of the mpirun programFindMPIRUN#runtests=1makeeach=0writesummaryfile=noquiet=0MAKE="@MAKE@"for arg in "$@" ; do case $arg in -checkonly ) runtests=0 ;; -margs=*) margs=`echo $arg | sed 's/-margs=//'` args="$args $margs" ;; -small) shift makeeach=1 ;; -summaryfile=*) writesummaryfile=yes summaryfile=`echo A$arg | sed 's/A-summaryfile=//'` ;; -quiet) shift quiet=1 ;; -help|-u) echo "runtests [-checkonly] [-margs='...']" echo "run tests in this directory. If -checkonly set, just run" echo "the differences check (do NO rerun the test programs)." echo "If -margs is used, these options are passed to mpirun." echo "If -small is used, the examples are built, run, and deleted." exit 1 ;; *) if test -n "$arg" ; then echo "runtests: Unknown argument ($arg)" exit 1 fi ;; esacdone# If the programs are not available, run make.if [ ! -x coll1 -a $makeeach = 0 -a $runtests = 1 ] ; then $MAKE defaultfitestfiles=""if [ $runtests = 1 ] ; thenecho '**** Testing MPI Collective routines ****'RunTest barrier 4 "*** Barrier Test ***" "" "barrier-0.out"RunTest bcast 4 "*** Broadcast Test ***" "" "bcast-0.out bcast-1.out bcast-2.out bcast-3.out"RunTest bcastvec 4 "*** Broadcast Datatype Test ***" "" "bcastvec-0.out bcastvec-1.out bcastvec-2.out bcastvec-3.out"RunTest coll1 4RunTest coll2 5RunTest coll3 5RunTest coll4 4RunTest coll5 4RunTest coll6 5RunTest coll7 5RunTest coll8 4RunTest coll9 4RunTest coll10 4RunTest coll11 4RunTest scantst 4RunTest coll12 4# coll13 is very picky about argumentsRunTest coll13 4RunTest longuser 4# Some implementations (e.g., IBM's) forget to handle the np = 1 case.#RunTest longuser 1 "*** longuser (np == 1) ***"MakeExe longusercp longuser longuser1RunTest longuser1 1 '*** longuser (np == 1) ***'rm -f longuser1#OutTime#testfiles="$testfiles allredmany.out"#/bin/rm -f allredmany.out#MakeExe allredmany#echo '**** allredmany ****'#echo '*** allredmany ***' >> allredmany.out#cnt=0## Run several times to try and catch timing/race conditions in managing## the flood of one-way messages.#while [ $cnt -lt 20 ] ; do# echo "*** allredmany run $cnt ***" >> allredmany.out# $mpirun -np 2 $args allredmany >> allredmany.out 2>&1# cnt=`expr $cnt + 1`#done#echo '*** allredmany ***' >> allredmany.out#CleanExe allredmanyRunTest grouptest 4RunTest allred 4 "*** Allred ***"RunTest allred2 4 "*** Allred2 ***"RunTest scatterv 4 "*** Scatterv ***"RunTest scattern 4 "*** Scattern ***"RunTest redscat 4 "*** Reduce_scatter ***"RunTest alltoallv 4 "*** Alltoallv ***"## Run Fortran tests ONLY if Fortran availableif [ @HAS_FORTRAN@ = 1 ] ; then echo "FORTRAN TESTS" RunTest allredf 4 "*** Testing allreduce from Fortran ***" RunTest assocf 4 "*** Testing allreduce from Fortran (2) ***" RunTest bcastlog 4 "*** Testing logical datatype in BCAST ***" echo "END OF FORTRAN TESTS"fielse # Just run checks testfiles=`echo *.out` if test "$testfiles" = "*.out" ; then echo "No output files remain from previous test!" exit 1 fifiecho '*** Checking for differences from expected output ***'CheckAllOutput coll.diffexit 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -