diff --git a/scripts/build_configs/ro_net b/scripts/build_configs/ro_net index 8a6de89ba4..6f6e72e288 100755 --- a/scripts/build_configs/ro_net +++ b/scripts/build_configs/ro_net @@ -19,10 +19,12 @@ cmake \ -DPROFILE=OFF \ -DUSE_GPU_IB=OFF \ -DUSE_DC=OFF \ + -DUSE_COHERENT_HEAP=ON \ + -DUSE_MANAGED_HEAP=OFF \ + -DUSE_RO=ON \ -DUSE_IPC=ON \ -DUSE_THREADS=ON \ -DUSE_WF_COAL=OFF \ - -DUSE_COHERENT_HEAP=OFF \ $src_path cmake --build . --parallel 8 cmake --install . diff --git a/scripts/functional_tests/driver.sh b/scripts/functional_tests/driver.sh index 93a485f70c..8594bff74e 100755 --- a/scripts/functional_tests/driver.sh +++ b/scripts/functional_tests/driver.sh @@ -20,577 +20,354 @@ #!/bin/bash -driver_return_status=0 +# This names/values should match the TestType enum in rocSHMEM/tests/functional_tests/tester.hpp +declare -A TEST_NUMBERS=( + ["get"]="0" + ["getnbi"]="1" + ["put"]="2" + ["putnbi"]="3" + ["getswarm"]="4" + ["amo_fadd"]="5" + ["amo_finc"]="6" + ["amo_fetch"]="7" + ["amo_fcswap"]="8" + ["amo_add"]="9" + ["amo_inc"]="10" + ["amo_cswap"]="11" + ["init"]="12" + ["pingpong"]="13" + ["randomaccess"]="14" + ["barrierall"]="15" + ["syncall"]="16" + ["sync"]="17" + ["collect"]="18" + ["fcollect"]="19" + ["alltoall"]="20" + ["alltoalls"]="21" + ["shmemptr"]="22" + ["p"]="23" + ["g"]="24" + ["wgget"]="25" + ["wggetnbi"]="26" + ["wgput"]="27" + ["wgputnbi"]="28" + ["waveget"]="29" + ["wavegetnbi"]="30" + ["waveput"]="31" + ["waveputnbi"]="32" + ["teambroadcast"]="33" + ["teamreduction"]="34" + ["teamctxget"]="35" + ["teamctxgetnbi"]="36" + ["teamctxput"]="37" + ["teamctxputnbi"]="38" + ["teamctxinfra"]="39" + ["putnbimr"]="40" + ["amo_set"]="41" + ["amo_swap"]="42" + ["amo_fetchand"]="43" + ["amo_fetchor"]="44" + ["amo_fetchxor"]="45" + ["amo_and"]="46" + ["amo_or"]="47" + ["amo_xor"]="48" + ["pingall"]="49" + ["putsignal"]="50" + ["wgputsignal"]="51" + ["waveputsignal"]="52" + ["putsignalnbi"]="53" + ["wgputsignalnbi"]="54" + ["waveputsignalnbi"]="55" + ["signalfetch"]="56" + ["wgsignalfetch"]="57" + ["wavesignalfetch"]="58" +) -if [ $# -eq 0 ] ; then +ExecTest() { + TEST_NAME=$1 + NUM_RANKS=$2 + NUM_WG=$3 + NUM_THREADS=$4 + MAX_MSG_SIZE=$5 + + TEST_NUM=${TEST_NUMBERS[$TEST_NAME]} + + if [[ "" == "$TEST_NUM" ]] + then + echo "Test $TEST_NAME does not exist" >&2 + DRIVER_RETURN_STATUS=1 + return + fi + + if [[ "" == "$ROCSHMEM_MAX_NUM_CONTEXTS" ]] + then + ROCSHMEM_MAX_NUM_CONTEXTS=$NUM_WG + fi + + # MPI Parameters + LAUNCHER=mpirun + OPTIONS=" -n $NUM_RANKS -mca pml ucx -x ROCSHMEM_MAX_NUM_CONTEXTS=$ROCSHMEM_MAX_NUM_CONTEXTS" + + if [[ "" != "$HOSTFILE" ]] + then + OPTIONS+=" --hostfile $HOSTFILE" + fi + + # Construct Test Command + TEST_LOG_NAME="$TEST_NAME"_n"$NUM_RANKS"_w"$NUM_WG"_z"$NUM_THREADS" + CMD="$LAUNCHER $OPTIONS $APP -a $TEST_NUM -w $NUM_WG -z $NUM_THREADS" + + if [[ "" != "$MAX_MSG_SIZE" ]] + then + CMD+=" -s $MAX_MSG_SIZE" + TEST_LOG_NAME+=_"$MAX_MSG_SIZE"B + fi + + CMD+=" > $LOG_DIR/$TEST_LOG_NAME.log" + + # Run Test + echo $TEST_LOG_NAME + eval $CMD + + # Validate Test + if [ $? -ne 0 ] + then + echo "Failed $TEST_CONFIG" >&2 + DRIVER_RETURN_STATUS=1 + fi + + unset ROCSHMEM_MAX_NUM_CONTEXTS +} + +TestRMA() { + ############################################################################## + # | Name | Ranks | Workgroups | Threads | Max Message Size # + ############################################################################## + ExecTest "put" 2 1 1 1048576 + ExecTest "put" 2 1 1024 512 + ExecTest "put" 2 8 1 1048576 + ExecTest "put" 2 16 128 8 + ExecTest "put" 2 32 256 512 + ExecTest "put" 2 64 1024 8 + + ExecTest "wgput" 2 1 64 1048576 + ExecTest "wgput" 2 2 64 1048576 + ExecTest "wgput" 2 16 64 8 + + ExecTest "waveput" 2 1 64 1048576 + ExecTest "waveput" 2 2 64 1048576 + ExecTest "waveput" 2 2 128 1048576 + ExecTest "waveput" 2 16 128 8 + + ExecTest "teamctxput" 2 1 1 1048576 + + ExecTest "get" 2 1 1 1048576 + ExecTest "get" 2 1 1024 512 + ExecTest "get" 2 8 1 1048576 + ExecTest "get" 2 16 128 8 + ExecTest "get" 2 32 256 512 + ExecTest "get" 2 64 1024 8 + + ExecTest "wgget" 2 1 64 1048576 + ExecTest "wgget" 2 2 64 1048576 + ExecTest "wgget" 2 16 64 8 + + ExecTest "waveget" 2 1 64 1048576 + ExecTest "waveget" 2 2 64 1048576 + ExecTest "waveget" 2 2 128 1048576 + ExecTest "waveget" 2 16 128 8 + + ExecTest "teamctxget" 2 1 1 1048576 + + ################################ Non-Blocking ################################ + + ExecTest "putnbi" 2 1 1 1048576 + ExecTest "putnbi" 2 1 1024 512 + ExecTest "putnbi" 2 8 1 1048576 + ExecTest "putnbi" 2 16 128 8 + ExecTest "putnbi" 2 32 256 512 + ExecTest "putnbi" 2 64 1024 8 + + ExecTest "wgputnbi" 2 1 64 1048576 + ExecTest "wgputnbi" 2 2 64 1048576 + ExecTest "wgputnbi" 2 16 64 8 + + ExecTest "waveputnbi" 2 1 64 1048576 + ExecTest "waveputnbi" 2 2 64 1048576 + ExecTest "waveputnbi" 2 2 128 1048576 + ExecTest "waveputnbi" 2 16 128 8 + + ExecTest "teamctxputnbi" 2 1 1 1048576 + + ExecTest "getnbi" 2 1 1 1048576 + ExecTest "getnbi" 2 1 1024 512 + ExecTest "getnbi" 2 8 1 1048576 + ExecTest "getnbi" 2 16 128 8 + ExecTest "getnbi" 2 32 256 512 + ExecTest "getnbi" 2 64 1024 8 + + ExecTest "wggetnbi" 2 1 64 1048576 + ExecTest "wggetnbi" 2 2 64 1048576 + ExecTest "wggetnbi" 2 16 64 8 + + ExecTest "wavegetnbi" 2 1 64 1048576 + ExecTest "wavegetnbi" 2 2 64 1048576 + ExecTest "wavegetnbi" 2 2 128 1048576 + ExecTest "wavegetnbi" 2 16 128 8 + + ExecTest "teamctxgetnbi" 2 1 1 1048576 +} + +TestAMO() { + ############################################################################## + # | Name | Ranks | Workgroups | Threads | Max Message Size # + ############################################################################## + ExecTest "amo_fetch" 2 1 1 + ExecTest "amo_fetch" 2 1 1024 + ExecTest "amo_fetch" 2 8 1 + ExecTest "amo_fetch" 2 32 128 + + ExecTest "amo_set" 2 1 1 + ExecTest "amo_set" 2 8 1 + ExecTest "amo_set" 2 32 1 + + ExecTest "amo_fcswap" 2 1 1 + ExecTest "amo_fcswap" 2 32 1 + ExecTest "amo_fcswap" 2 8 1 + + ExecTest "amo_finc" 2 1 1 + ExecTest "amo_finc" 2 1 1024 + ExecTest "amo_finc" 2 8 1 + ExecTest "amo_finc" 2 32 128 + + ExecTest "amo_inc" 2 1 1 + ExecTest "amo_inc" 2 1 1024 + ExecTest "amo_inc" 2 8 1 + ExecTest "amo_inc" 2 32 128 + + ExecTest "amo_fadd" 2 1 1 + ExecTest "amo_fadd" 2 1 1024 + ExecTest "amo_fadd" 2 8 1 + ExecTest "amo_fadd" 2 32 128 + + ExecTest "amo_add" 2 1 1 + ExecTest "amo_add" 2 1 1024 + ExecTest "amo_add" 2 8 1 + ExecTest "amo_add" 2 32 128 + + ExecTest "amo_fetchand" 2 1 1 + + ExecTest "amo_and" 2 1 1 + + ExecTest "amo_xor" 2 1 1 +} + +TestSigOps() { + ############################################################################## + # | Name | Ranks | Workgroups | Threads | Max Message Size # + ############################################################################## + ExecTest "putsignal" 2 1 1 1048576 + ExecTest "putsignal" 2 2 32 1048576 + ExecTest "wgputsignal" 2 2 32 1048576 + ExecTest "waveputsignal" 2 1 32 1048576 + + ExecTest "putsignalnbi" 2 1 1 1048576 + ExecTest "putsignalnbi" 2 2 32 1048576 + ExecTest "wgputsignalnbi" 2 2 32 1048576 + ExecTest "waveputsignalnbi" 2 1 32 1048576 + + ExecTest "signalfetch" 2 1 1 + ExecTest "wgsignalfetch" 2 2 32 + ExecTest "wavesignalfetch" 2 1 32 +} + +TestColl() { + ############################################################################## + # | Name | Ranks | Workgroups | Threads | Max Message Size # + ############################################################################## + ExecTest "barrierall" 2 1 1 + + ExecTest "sync" 2 1 1 + + ExecTest "syncall" 2 1 1 + + ExecTest "alltoall" 2 1 1 512 + + ExecTest "teambroadcast" 2 1 1 32768 + + ExecTest "fcollect" 2 1 1 512 + ExecTest "fcollect" 2 1 1 32768 + + ExecTest "teamreduction" 2 1 1 32768 +} + +TestOther() { + ############################################################################## + # | Name | Ranks | Workgroups | Threads | Max Message Size # + ############################################################################## + ExecTest "init" 2 1 1 + + ExecTest "pingpong" 2 1 1 + ExecTest "pingpong" 2 8 1 + ExecTest "pingpong" 2 32 1 + + # This test requires more contexts than workgroups + export ROCSHMEM_MAX_NUM_CONTEXTS=1024 + ExecTest "teamctxinfra" 2 1 1 + unset ROCSHMEM_MAX_NUM_CONTEXTS +} + +ValidateInput() { + INPUT_COUNT=$1 + if [ $INPUT_COUNT -eq 0 ] ; then echo "This script must be run with at least 2 arguments." - echo 'Usage: ${0} argument1 argument2 [argument3]' + echo 'Usage: ${0} argument1 argument2 [argument3] [argument4]' echo " argument1 : path to the tester driver" echo " argument2 : test type to run, e.g put" echo " argument3 : directory to put the output logs" + echo " argument4 : path to hostfile" exit 1 -fi - -echo "Test Name ${2}" - -check() { - if [ $? -ne 0 ] - then - echo "Failed $1" >&2 - driver_return_status=1 - fi + fi } -case $2 in - ########################################################################### - ############################## SERIAL TESTS ############################### - ########################################################################### - *"serial") - echo "get_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 0 > $3/get_n2_w1_z1_1MB.log - check get_n2_w1_z1_1MB - echo "getnbi_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 1 > $3/getnbi_n2_w1_z1_1MB.log - check getnbi_n2_w1_z1_1MB - echo "put_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 2 > $3/put_n2_w1_z1_1MB.log - check put_n2_w1_z1_1MB - echo "putnbi_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 3 > $3/putnbi_n2_w1_z1_1MB.log - check putnbi_n2_w1_z1_1MB - echo "wg_get_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 1048576 -a 25 > $3/wg_get_n2_w1_z64_1MB.log - check wg_get_n2_w1_z1_1MB - echo "wg_getnbi_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 1048576 -a 26 > $3/wg_getnbi_n2_w1_z64_1MB.log - check wg_getnbi_n2_w1_z1_1MB - echo "wg_put_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 1048576 -a 27 > $3/wg_put_n2_w1_z64_1MB.log - check wg_put_n2_w1_z1_1MB - echo "wg_putnbi_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 1048576 -a 28 > $3/wg_putnbi_n2_w1_z64_1MB.log - check wg_putnbi_n2_w1_z1_1MB - echo "wg_get_tiled_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 64 -s 1048576 -a 25 > $3/wg_get_tiled_n2_w2_z64_1MB.log - check wg_get_tiled_n2_w1_z1_1MB - echo "wg_getnbi_tiled_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 64 -s 1048576 -a 26 > $3/wg_getnbi_tiled_n2_w2_z64_1MB.log - check wg_getnbi_tiled_n2_w1_z1_1MB - echo "wg_put_tiled_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 64 -s 1048576 -a 27 > $3/wg_put_tiled_n2_w2_z64_1MB.log - check wg_put_tiled_n2_w1_z1_1MB - echo "wg_putnbi_tiled_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 64 -s 1048576 -a 28 > $3/wg_putnbi_tiled_n2_w2_z64_1MB.log - check wg_putnbi_tiled_n2_w1_z1_1MB - echo "wave_get_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 1048576 -a 29 > $3/wave_get_n2_w1_z64_1MB.log - check wave_get_n2_w1_z1_1MB - echo "wave_getnbi_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 1048576 -a 30 > $3/wave_getnbi_n2_w1_z64_1MB.log - check wave_getnbi_n2_w1_z1_1MB - echo "wave_put_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 1048576 -a 31 > $3/wave_put_n2_w1_z64_1MB.log - check wave_put_n2_w1_z1_1MB - echo "wave_putnbi_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 1048576 -a 32 > $3/wave_putnbi_n2_w1_z64_1MB.log - check wave_putnbi_n2_w1_z1_1MB - echo "wave_get_tiled_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 128 -s 1048576 -a 29 > $3/wave_get_tiled_n2_w2_z128_1MB.log - check wave_get_tiled_n2_w1_z1_1MB - echo "wave_getnbi_tiled_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 128 -s 1048576 -a 30 > $3/wave_getnbi_tiled_n2_w2_z128_1MB.log - check wave_getnbi_tiled_n2_w1_z1_1MB - echo "wave_put_tiled_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 128 -s 1048576 -a 31 > $3/wave_put_tiled_n2_w2_z128_1MB.log - check wave_put_tiled_n2_w1_z1_1MB - echo "wave_putnbi_tiled_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 128 -s 1048576 -a 32 > $3/wave_putnbi_tiled_n2_w2_z128_1MB.log - check wave_putnbi_tiled_n2_w1_z1_1MB - echo "amofadd_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 5 > $3/amofadd_n2_w1_z1.log - check amofadd_n2_w1_z1 - echo "amofinc_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 6 > $3/amofinc_n2_w1_z1.log - check amofinc_n2_w1_z1 - echo "amofetch_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 7 > $3/amofetch_n2_w1_z1.log - check amofetch_n2_w1_z1 - echo "amofcswap_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 8 > $3/amofcswap_n2_w1_z1.log - check amofcswap_n2_w1_z1 - echo "amoadd_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 9 > $3/amoadd_n2_w1_z1.log - check amoadd_n2_w1_z1 - echo "amoinc_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 10 > $3/amoinc_n2_w1_z1.log - check amoinc_n2_w1_z1 - echo "pingpong_n2_w1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -a 13 > $3/pingpong_n2_w1.log - check pingpong_n2_w1 - echo "amoset_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 41 > $3/amoset_n2_w1_z1.log - check amoset_n2_w1_z1 - ;; +APP=$1 +TEST=$2 +LOG_DIR=$3 +HOSTFILE=$4 - ########################################################################### - ############################### SHORT TESTS ############################### - ########################################################################### - *"short") - echo "get_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 0 > $3/get_n2_w16_z128_8B.log - check get_n2_w16_z128_8B - echo "getnbi_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 1 > $3/getnbi_n2_w16_z128_8B.log - check getnbi_n2_w16_z128_8B - echo "put_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 2 > $3/put_n2_w16_z128_8B.log - check put_n2_w16_z128_8B - echo "putnbi_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 3 > $3/putnbi_n2_w16_z128_8B.log - check putnbi_n2_w16_z128_8B - echo "wg_get_n2_w1_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 8 -a 25 > $3/wg_get_n2_w1_z64_8B.log - check wg_get_n2_w1_z64_8B - echo "wg_getnbi_n2_w1_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 8 -a 26 > $3/wg_getnbi_n2_w1_z64_8B.log - check wg_getnbi_n2_w1_z64_8B - echo "wg_put_n2_w1_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 8 -a 27 > $3/wg_put_n2_w1_z64_8B.log - check wg_put_n2_w1_z64_8B - echo "wg_putnbi_n2_w1_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 8 -a 28 > $3/wg_putnbi_n2_w1_z64_8B.log - check wg_putnbi_n2_w1_z64_8B - echo "wg_get_tiled_n2_w16_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 64 -s 8 -a 25 > $3/wg_get_tiled_n2_w16_z64_8B.log - check wg_get_tiled_n2_w16_z64_8B - echo "wg_getnbi_tiled_n2_w16_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 64 -s 8 -a 26 > $3/wg_getnbi_tiled_n2_w16_z64_8B.log - check wg_getnbi_tiled_n2_w16_z64_8B - echo "wg_put_tiled_n2_w16_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 64 -s 8 -a 27 > $3/wg_put_tiled_n2_w16_z64_8B.log - check wg_put_tiled_n2_w16_z64_8B - echo "wg_putnbi_tiled_n2_w16_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 64 -s 8 -a 28 > $3/wg_putnbi_tiled_n2_w16_z64_8B.log - check wg_putnbi_tiled_n2_w16_z64_8B - echo "wave_get_n2_w1_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 8 -a 29 > $3/wave_get_n2_w1_z64_8B.log - check wave_get_n2_w1_z64_8B - echo "wave_getnbi_n2_w1_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 8 -a 30 > $3/wave_getnbi_n2_w1_z64_8B.log - check wave_getnbi_n2_w1_z64_8B - echo "wave_put_n2_w1_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 8 -a 31 > $3/wave_put_n2_w1_z64_8B.log - check wave_put_n2_w1_z64_8B - echo "wave_putnbi_n2_w1_z64_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 64 -s 8 -a 32 > $3/wave_putnbi_n2_w1_z64_8B.log - check wave_putnbi_n2_w1_z64_8B - echo "wave_get_tiled_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 29 > $3/wave_get_tiled_n2_w16_z128_8B.log - check wave_get_tiled_n2_w16_z128_8B - echo "wave_getnbi_tiled_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 30 > $3/wave_getnbi_tiled_n2_w16_z128_8B.log - check wave_getnbi_tiled_n2_w16_z128_8B - echo "wave_put_tiled_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 31 > $3/wave_put_tiled_n2_w16_z128_8B.log - check wave_put_tiled_n2_w16_z128_8B - echo "wave_putnbi_tiled_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 32 > $3/wave_putnbi_tiled_n2_w16_z128_8B.log - check wave_putnbi_tiled_n2_w16_z128_8B - echo "amofadd_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 5 > $3/amofadd_n2_w8_z1.log - check amofadd_n2_w8_z1 - echo "amofinc_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 6 > $3/amofinc_n2_w8_z1.log - check amofinc_n2_w8_z1 - echo "amofetch_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 7 > $3/amofetch_n2_w8_z1.log - check amofetch_n2_w8_z1 - echo "amofcswap_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 8 > $3/amofcswap_n2_w8_z1.log - check amofcswap_n2_w8_z1 - echo "amoadd_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 9 > $3/amoadd_n2_w8_z1.log - check amoadd_n2_w8_z1 - echo "amoinc_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 10 > $3/amoinc_n2_w8_z1.log - check amoinc_n2_w8_z1 - echo "pingpong_n2_w1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -a 13 > $3/pingpong_n2_w1.log - check pingpong_n2_w1 - echo "amoset_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 41 > $3/amoset_n2_w8_z1.log - check amoset_n2_w8_z1 - echo "putsignal_n2_w1_z1" - mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 50 > $3/putsignal_n2_w1_z1.log - check putsignal_n2_w1_z1 - echo "putsignalwg_n2_w2_z32" - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 32 -s 1048576 -a 52 > $3/putsignalwg_n2_w2_z32.log - check putsignalwg_n2_w2_z32 - echo "putsignalwave_n2_w1_z32" - mpirun -np 2 $1 -w 1 -z 32 -s 1048576 -a 52 > $3/putsignalwave_n2_w1_z32.log - check putsignalwave_n2_w1_z32 - echo "putsignalnbi" - mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 53 > $3/putsignalnbi_n2_w1_z1.log - check putsignalnbi_n2_w1_z1 - echo "putsignalnbiwg" - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 32 -s 1048576 -a 54 > $3/putsignalnbiwg_n2_w2_z32.log - check putsignalnbiwg_n2_w2_z32 - echo "putsignalnbiwave" - mpirun -np 2 $1 -w 1 -z 32 -s 1048576 -a 55 > $3/putsignalnbiwave_n2_w1_z32.log - check putsignalnbiwave_n2_w1_z32 - echo "signalfetch" - mpirun -np 2 $1 -w 1 -z 1 -a 56 > $3/signalfetch_n2_w1_z1.log - check signalfetch_n2_w1_z1 - echo "signalfetchwg" - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 32 -a 57 > $3/signalfetchwg_n2_w2_z32.log - check signalfetchwg_n2_w2_z32 - echo "signalfetchwave" - mpirun -np 2 $1 -w 1 -z 32 -a 57 > $3/signalfetchwave_n2_w2_z32.log - check signalfetchwave_n2_w2_z32 - ;; +DRIVER_RETURN_STATUS=0 - ########################################################################### - ############################# EXHAUSTIVE TESTS ############################ - ########################################################################### - *"exhaustive") - ############################### GET ################################### - echo "get_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 0 > $3/get_n2_w1_z1_1MB.log - check get_n2_w1_z1_1MB - echo "get_n2_w1_z1024_512B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1024 -s 512 -a 0 > $3/get_n2_w1_z1024_512B.log - check get_n2_w1_z1024_512B - echo "get_n2_w8_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -s 1048576 -a 0 > $3/get_n2_w8_z1_1MB.log - check get_n2_w8_z1_1MB - echo "get_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 0 > $3/get_n2_w16_z128_8B.log - check get_n2_w16_z128_8B - echo "get_n2_w32_z256_512B" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -z 256 -s 512 -a 0 > $3/get_n2_w32_z256_512B.log - check get_n2_w32_z256_512B - echo "get_n2_w64_z1024_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=64 mpirun -np 2 $1 -w 64 -z 1024 -s 8 -a 0 > $3/get_n2_w64_z1024_8B.log - check get_n2_w64_z1024_8B - ############################### GETNBI ################################ - echo "getnbi_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 1 > $3/getnbi_n2_w1_z1_1MB.log - check getnbi_n2_w1_z1_1MB - echo "getnbi_n2_w1_z1024_512B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1024 -s 512 -a 1 > $3/getnbi_n2_w1_z1024_512B.log - check getnbi_n2_w1_z1024_512B - echo "getnbi_n2_w8_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -s 1048576 -a 1 > $3/getnbi_n2_w8_z1_1MB.log - check getnbi_n2_w8_z1_1MB - echo "getnbi_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 1 > $3/getnbi_n2_w16_z128_8B.log - check getnbi_n2_w16_z128_8B - echo "getnbi_n2_w32_z256_512B" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -z 256 -s 512 -a 1 > $3/getnbi_n2_w32_z256_512B.log - check getnbi_n2_w32_z256_512B - echo "getnbi_n2_w64_z1024_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=64 mpirun -np 2 $1 -w 64 -z 1024 -s 8 -a 1 > $3/getnbi_n2_w64_z1024_8B.log - check getnbi_n2_w64_z1024_8B - ############################### PUT ################################### - echo "put_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 2 > $3/put_n2_w1_z1_1MB.log - check put_n2_w1_z1_1MB - echo "put_n2_w1_z1024_512B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1024 -s 512 -a 2 > $3/put_n2_w1_z1024_512B.log - check put_n2_w1_z1024_512B - echo "put_n2_w8_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -s 1048576 -a 2 > $3/put_n2_w8_z1_1MB.log - check put_n2_w8_z1_1MB - echo "put_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 2 > $3/put_n2_w16_z128_8B.log - check put_n2_w16_z128_8B - echo "put_n2_w32_z256_512B" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -z 256 -s 512 -a 2 > $3/put_n2_w32_z256_512B.log - check put_n2_w32_z256_512B - echo "put_n2_w64_z1024_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=64 mpirun -np 2 $1 -w 64 -z 1024 -s 8 -a 2 > $3/put_n2_w64_z1024_8B.log - check put_n2_w64_z1024_8B - ############################### PUTNBI ################################ - echo "putnbi_n2_w1_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 3 > $3/putnbi_n2_w1_z1_1MB.log - check putnbi_n2_w1_z1_1MB - echo "putnbi_n2_w1_z1024_512B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1024 -s 512 -a 3 > $3/putnbi_n2_w1_z1024_512B.log - check putnbi_n2_w1_z1024_512B - echo "putnbi_n2_w8_z1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -s 1048576 -a 3 > $3/putnbi_n2_w8_z1_1MB.log - check putnbi_n2_w8_z1_1MB - echo "putnbi_n2_w16_z128_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=16 mpirun -np 2 $1 -w 16 -z 128 -s 8 -a 3 > $3/putnbi_n2_w16_z128_8B.log - check putnbi_n2_w16_z128_8B - echo "putnbi_n2_w32_z256_512B" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -z 256 -s 512 -a 3 > $3/putnbi_n2_w32_z256_512B.log - check putnbi_n2_w32_z256_512B - echo "putnbi_n2_w64_z1024_8B" - ROCSHMEM_MAX_NUM_CONTEXTS=64 mpirun -np 2 $1 -w 64 -z 1024 -s 8 -a 3 > $3/putnbi_n2_w64_z1024_8B.log - check putnbi_n2_w64_z1024_8B - ############################## AMOFADD ############################### - echo "amofadd_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 5 > $3/amofadd_n2_w1_z1.log - check amofadd_n2_w1_z1 - echo "amofadd_n2_w1_z1024" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1024 -a 5 > $3/amofadd_n2_w1_z1024.log - check amofadd_n2_w1_z1024 - echo "amofadd_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 5 > $3/amofadd_n2_w8_z1.log - check amofadd_n2_w8_z1 - echo "amofadd_n2_w32_z128" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -z 128 -a 5 > $3/amofadd_n2_w32_z128.log - check amofadd_n2_w32_z128 - ############################## AMOFINC ############################### - echo "amofinc_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 6 > $3/amofinc_n2_w1_z1.log - check amofinc_n2_w1_z1 - echo "amofinc_n2_w1_z1024" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1024 -a 6 > $3/amofinc_n2_w1_z1024.log - check amofinc_n2_w1_z1024 - echo "amofinc_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 6 > $3/amofinc_n2_w8_z1.log - check amofinc_n2_w8_z1 - echo "amofinc_n2_w32_z128" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -z 128 -a 6 > $3/amofinc_n2_w32_z128.log - check amofinc_n2_w32_z128 - ############################ AMOFETCH ################################ - echo "amofetch_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 7 > $3/amofetch_n2_w1_z1.log - check amofetch_n2_w1_z1 - echo "amofetch_n2_w1_z1024" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1024 -a 7 > $3/amofetch_n2_w1_z1024.log - check amofetch_n2_w1_z1024 - echo "amofetch_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 7 > $3/amofetch_n2_w8_z1.log - check amofetch_n2_w8_z1 - echo "amofetch_n2_w32_z128" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -z 128 -a 7 > $3/amofetch_n2_w32_z128.log - check amofetch_n2_w32_z128 - ########################### AMOFCSWAP ################################ - echo "amofcswap_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 8 > $3/amofcswap_n2_w1_z1.log - check amofcswap_n2_w1_z1 - echo "amofcswap_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 8 > $3/amofcswap_n2_w8_z1.log - check amofcswap_n2_w8_z1 - echo "amofcswap_n2_w32_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -z 1 -a 8 > $3/amofcswap_n2_w32_z1.log - check amofcswap_n2_w32_z1 - ############################# AMOADD ################################ - echo "amoadd_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 9 > $3/amoadd_n2_w1_z1.log - check amoadd_n2_w1_z1 - echo "amoadd_n2_w1_z1024" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1024 -a 9 > $3/amoadd_n2_w1_z1024.log - check amoadd_n2_w1_z1024 - echo "amoadd_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 9 > $3/amoadd_n2_w8_z1.log - check amoadd_n2_w8_z1 - echo "amoadd_n2_w32_z128" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -z 128 -a 9 > $3/amoadd_n2_w32_z128.log - check amoadd_n2_w32_z128 - ############################# AMOINC ################################ - echo "amoinc_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 10 > $3/amoinc_n2_w1_z1.log - check amoinc_n2_w1_z1 - echo "amoinc_n2_w1_z1024" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1024 -a 10 > $3/amoinc_n2_w1_z1024.log - check amoinc_n2_w1_z1024 - echo "amoinc_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 10 > $3/amoinc_n2_w8_z1.log - check amoinc_n2_w8_z1 - echo "amoinc_n2_w32_z128" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -z 128 -a 10 > $3/amoinc_n2_w32_z128.log - check amoinc_n2_w32_z128 - ############################## INIT ################################# - echo "init_n2" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -a 12 > $3/init_n2.log - check init_n2 - ########################### PINGPONG ################################ - echo "pingpong_n2_w1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -a 13 > $3/pingpong_n2_w1.log - check pingpong_n2_w1 - echo "pingpong_n2_w8" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -a 13 > $3/pingpong_n2_w8.log - check pingpong_n2_w8 - echo "pingpong_n2_w32" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -a 13 > $3/pingpong_n2_w32.log - check pingpong_n2_w32 - ############################ BARRIER ################################ - echo "barrier_n2_w1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -a 15 > $3/barrier_n2_w1.log - check barrier_n2_w1 - ############################ SYNCALL ################################ - echo "syncall_n2_w1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -a 16 > $3/syncall_n2_w1.log - check syncall_n2_w1 - ############################# SYNC ################################## - echo "sync_n2_w1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -a 17 > $3/sync_n2_w1.log - check sync_n2_w1 - ########################### FCOLLECT ################################ - echo "fcollect_n2_w1_512B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -s 512 -a 19 > $3/fcollect_n2_w1_512B.log - check fcollect_n2_w1_512B - ########################### ALLTOALL ################################ - echo "alltoall_n2_w1_512B" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -s 512 -a 20 > $3/alltoall_n2_w1_512B.log - check alltoall_n2_w1_512B - ########################## TEAMGETNBI ############################### - echo "teamgetnbi_n2_w1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -s 1048576 -a 36 > $3/teamgetnbi_n2_w1_1MB.log - check teamgetnbi_n2_w1_1MB - ########################## TEAMPUTNBI ############################### - echo "teamputnbi_n2_w1_1MB" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -s 1048576 -a 38 > $3/teamputnbi_n2_w1_1MB.log - check teamputnbi_n2_w1_1MB - ############################ AMOSET ################################# - echo "amoset_n2_w1_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=1 mpirun -np 2 $1 -w 1 -z 1 -a 41 > $3/amoset_n2_w1_z1.log - check amoset_n2_w1_z1 - echo "amoset_n2_w8_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=8 mpirun -np 2 $1 -w 8 -z 1 -a 41 > $3/amoset_n2_w8_z1.log - check amoset_n2_w8_z1 - echo "amoset_n2_w32_z1" - ROCSHMEM_MAX_NUM_CONTEXTS=32 mpirun -np 2 $1 -w 32 -z 1 -a 41 > $3/amoset_n2_w32_z1.log - check amoset_n2_w32_z1 - ;; +ValidateInput $# - ########################################################################### - ############################# INDIVIDUAL TESTS ############################ - ########################################################################### - *"get") - mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 0 - ;; - *"getnbi") - mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 1 - ;; - *"put") - mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 2 - ;; - *"putnbi") - mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 3 - ;; - *"reduction") - mpirun -np 2 $1 -w 1 -z 1 -s 32768 -a 5 - ;; - *"amofadd") - mpirun -np 2 $1 -w 1 -z 1 -a 5 - ;; - *"amofinc") - mpirun -np 2 $1 -w 1 -z 1 -a 6 - ;; - *"amofetch") - mpirun -np 2 $1 -w 1 -z 1 -a 7 - ;; - *"amofcswap") - mpirun -np 2 $1 -w 1 -z 1 -a 8 - ;; - *"amoadd") - mpirun -np 2 $1 -w 1 -z 1 -a 9 - ;; - *"amoinc") - mpirun -np 2 $1 -w 1 -z 1 -a 10 - ;; - *"init") - mpirun -np 2 $1 -a 12 - ;; - *"pingpong") - mpirun -np 2 $1 -w 1 -z 1 -a 13 - ;; - *"barrier") - mpirun -np 2 $1 -w 1 -z 1 -a 15 - ;; - *"syncall") - mpirun -np 2 $1 -w 1 -z 1 -a 16 - ;; - *"sync") - mpirun -np 2 $1 -w 1 -z 1 -s 8 -a 17 - ;; - *"fcollect") - mpirun -np 2 $1 -w 1 -z 1 -s 32768 -a 19 - ;; - *"alltoall") - mpirun -np 2 $1 -w 1 -z 1 -s 32768 -a 20 - ;; - *"team_broadcast") - mpirun -np 2 $1 -w 1 -z 1 -s 32768 -a 33 - ;; - *"team_reduction") - mpirun -np 2 $1 -w 1 -z 1 -s 32768 -a 34 - ;; - *"team_get") - mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 35 - ;; - *"team_getnbi") - mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 36 - ;; - *"team_put") - mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 37 - ;; - *"team_putnbi") - mpirun -np 2 $1 -w 1 -z 1 -s 1048576 -a 38 - ;; - *"ctx_infra") - mpirun -np 2 $1 -w 1 -z 1 -a 39 - ;; - *"amoset") - mpirun -np 2 $1 -w 1 -z 1 -a 41 - ;; - *"amoswap") - mpirun -np 2 $1 -w 1 -z 1 -a 42 - ;; - *"amofetchand") - mpirun -np 2 $1 -w 1 -z 1 -a 43 - ;; - *"amofetchor") - mpirun -np 2 $1 -w 1 -z 1 -a 44 - ;; - *"amofetchxor") - mpirun -np 2 $1 -w 1 -z 1 -a 45 - ;; - *"amoand") - mpirun -np 2 $1 -w 1 -z 1 -a 46 - ;; - *"amoor") - mpirun -np 2 $1 -w 1 -z 1 -a 47 - ;; - *"amoxor") - mpirun -np 2 $1 -w 1 -z 1 -a 48 - ;; - *"putsignal") - mpirun -np 2 $1 -w 1 -z 1 -a 50 - ;; - *"putsignalwg") - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 32 -a 52 - ;; - *"putsignalwave") - mpirun -np 2 $1 -w 1 -z 32 -a 52 - ;; - *"putsignalnbi") - mpirun -np 2 $1 -w 1 -z 1 -a 53 - ;; - *"putsignalnbiwg") - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 32 -a 54 - ;; - *"putsignalnbiwave") - mpirun -np 2 $1 -w 1 -z 32 -a 55 - ;; - *"signalfetch") - mpirun -np 2 $1 -w 1 -z 1 -a 56 - ;; - *"signalfetchwg") - ROCSHMEM_MAX_NUM_CONTEXTS=2 mpirun -np 2 $1 -w 2 -z 32 -a 57 - ;; - *"signalfetchwave") - mpirun -np 2 $1 -w 1 -z 32 -a 57 - ;; - *) - echo "UNKNOWN TEST TYPE: $2" - exit -1 - ;; +case $TEST in + *"all") + TestRMA + TestAMO + TestSigOps + TestColl + TestOther + ;; + *"rma") + TestRMA + ;; + *"amo") + TestAMO + ;; + *"sigops") + TestSigOps + ;; + *"coll") + TestColl + ;; + *"other") + TestOther + ;; + *) + ############################################################################## + # | Name | Ranks | Workgroups | Threads | Max Message Size # + ############################################################################## + ExecTest $TEST 2 1 1 8 + ;; esac -exit $(($driver_return_status || $?)) +exit $(($DRIVER_RETURN_STATUS || $?))