gpu regression test [clean regression tests on ray]

This commit is contained in:
Ruipeng Li 2020-02-09 11:31:51 -08:00
parent 79aa36fc7b
commit 687232e116
4 changed files with 90 additions and 2 deletions

View File

@ -41,6 +41,7 @@ eo=""
roij="-ij -rt -mpibind -rtol 1e-3 -atol 1e-3"
ross="-struct -sstruct -rt -mpibind -rtol 1e-6 -atol 1e-6"
rost="-struct -rt -mpibind -rtol 1e-8 -atol 1e-8"
rocuda="-cuda -rt -mpibind"
# CUDA with UM
co="--with-cuda --enable-unified-memory --enable-persistent --with-extra-CXXFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\'"
@ -49,9 +50,9 @@ co="--with-cuda --enable-unified-memory --enable-persistent --with-extra-CXXFLAG
./test.sh basic.sh $src_dir -co: $co -mo: $mo -ro: $ross
./renametest.sh basic $output_dir/basic-cuda-um-struct-sstruct
# CUDA with UM [shared library, no run]
# CUDA with UM [shared library]
co="--with-cuda --enable-unified-memory --with-openmp --enable-hopscotch --enable-shared --with-extra-CXXFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\'"
./test.sh basic.sh $src_dir -co: $co -mo: $mo
./test.sh basic.sh $src_dir -co: $co -mo: $mo -ro: $rocuda
./renametest.sh basic $output_dir/basic-cuda-um-shared
#./test.sh basic.sh $src_dir -co: $co -mo: $mo -ro: $roij
#./renametest.sh basic $output_dir/basic-cuda-um-shared-ij

View File

@ -0,0 +1,19 @@
#!/bin/sh
# Copyright 1998-2019 Lawrence Livermore National Security, LLC and other
# HYPRE Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
#=============================================================================
# ij: Test BoomerAMG on GPU options
#=============================================================================
mpirun -np 4 ./ij -n 256 256 128 -P 2 2 1 -pmis -keepT 1 -rlx 18 -exec_device -rap 1 -mod_rap2 1 -no_cuda_um 0 -mm_cusparse 0 -interptype 3 -solver 1 \
> gpu_boomer.out.1
mpirun -np 3 ./ij -n 128 128 384 -P 1 1 3 -pmis -keepT 1 -rlx 7 -w 0.85 -exec_device -rap 1 -mod_rap2 1 -no_cuda_um 1 -mm_cusparse 0 -interptype 3 -solver 1 \
>> gpu_boomer.out.2
mpirun -np 4 ./ij -n 4096 4096 1 -P 2 2 1 -9pt -pmis -keepT 1 -rlx 18 -exec_device -rap 1 -mod_rap2 1 -no_cuda_um 1 -mm_cusparse 0 -interptype 3 -solver 1 \
>> gpu_boomer.out.3

View File

@ -0,0 +1,24 @@
# Output file: gpu_boomer.out.1
Complexity: grid = 1.386293
operator = 2.317504
memory = 2.740884
Iterations = 56
Final Relative Residual Norm = 6.797950e-09
# Output file: gpu_boomer.out.2
Complexity: grid = 1.386747
operator = 2.315463
memory = 2.739273
Iterations = 46
Final Relative Residual Norm = 9.439905e-09
# Output file: gpu_boomer.out.3
Complexity: grid = 1.233988
operator = 1.239520
memory = 1.468519
Iterations = 91
Final Relative Residual Norm = 9.334377e-09

View File

@ -0,0 +1,44 @@
#!/bin/sh
# Copyright 1998-2019 Lawrence Livermore National Security, LLC and other
# HYPRE Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
TNAME=`basename $0 .sh`
RTOL=$1
ATOL=$2
#=============================================================================
# compare with baseline case
#=============================================================================
FILES="\
${TNAME}.out.1\
${TNAME}.out.2\
${TNAME}.out.3\
"
for i in $FILES
do
echo "# Output file: $i"
grep -A 3 "Complexity" $i
tail -3 $i
done > ${TNAME}.out
# Make sure that the output files are reasonable
CHECK_LINE="Complexity"
OUT_COUNT=`grep "$CHECK_LINE" ${TNAME}.out | wc -l`
SAVED_COUNT=`grep "$CHECK_LINE" ${TNAME}.saved | wc -l`
if [ "$OUT_COUNT" != "$SAVED_COUNT" ]; then
echo "Incorrect number of \"$CHECK_LINE\" lines in ${TNAME}.out" >&2
fi
if [ -z $HYPRE_NO_SAVED ]; then
(../runcheck.sh ${TNAME}.out ${TNAME}.saved $RTOL $ATOL) >&2
fi
#=============================================================================
# remove temporary files
#=============================================================================
rm -f ${TNAME}.testdata*