2022-02-09 22:40:57 +08:00
|
|
|
#!/bin/sh
|
2022-04-06 07:19:51 +08:00
|
|
|
# Copyright (c) 1998 Lawrence Livermore National Security, LLC and other
|
2022-02-09 22:40:57 +08:00
|
|
|
# HYPRE Project Developers. See the top-level COPYRIGHT file for details.
|
|
|
|
|
#
|
|
|
|
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
|
|
|
|
|
|
|
|
|
testname=`basename $0 .sh`
|
|
|
|
|
|
|
|
|
|
# Echo usage information
|
|
|
|
|
case $1 in
|
|
|
|
|
-h|-help)
|
|
|
|
|
cat <<EOF
|
|
|
|
|
|
2023-02-11 00:21:11 +08:00
|
|
|
**** Only run this script on JLSE florentia nodes ****
|
|
|
|
|
**** Last tested with modules: ****
|
|
|
|
|
**** oneapi/eng-compiler/2022.10.15.006 ****
|
|
|
|
|
**** intel_compute_runtime/release/pvc-prq-66 ****
|
2022-02-09 22:40:57 +08:00
|
|
|
|
|
|
|
|
$0 [-h|-help] {src_dir}
|
|
|
|
|
|
|
|
|
|
where: -h|-help prints this usage information and exits
|
|
|
|
|
{src_dir} is the hypre source directory
|
|
|
|
|
|
|
|
|
|
This script runs a number of tests suitable for the syrah cluster.
|
|
|
|
|
|
|
|
|
|
Example usage: $0 ../src
|
|
|
|
|
|
|
|
|
|
EOF
|
|
|
|
|
exit
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
# Setup
|
|
|
|
|
test_dir=`pwd`
|
|
|
|
|
output_dir=`pwd`/$testname.dir
|
|
|
|
|
rm -fr $output_dir
|
|
|
|
|
mkdir -p $output_dir
|
|
|
|
|
src_dir=`cd $1; pwd`
|
|
|
|
|
shift
|
|
|
|
|
|
|
|
|
|
# Basic build and run tests
|
|
|
|
|
mo="-j test"
|
|
|
|
|
eo=""
|
|
|
|
|
|
|
|
|
|
rtol="0.0"
|
|
|
|
|
atol="3e-15"
|
|
|
|
|
|
|
|
|
|
#save=`echo $(hostname) | sed 's/[0-9]\+$//'`
|
2023-02-11 00:21:11 +08:00
|
|
|
save="florentia"
|
2022-02-09 22:40:57 +08:00
|
|
|
|
|
|
|
|
##########
|
|
|
|
|
## SYCL ##
|
|
|
|
|
##########
|
|
|
|
|
|
2022-07-06 07:10:36 +08:00
|
|
|
# SYCL with UM in debug mode [ij, struct]
|
2022-12-06 08:21:03 +08:00
|
|
|
# WM: I suppress all warnings for sycl files for now since JLSE can throw a lot of warnings
|
|
|
|
|
co="--enable-debug --with-sycl --enable-unified-memory CC=mpiicx CXX=mpiicpx --disable-fortran --with-extra-CUFLAGS=\\'-w\\' --with-MPI-include=${MPI_ROOT}/include --with-MPI-libs=mpi --with-MPI-lib-dirs=${MPI_ROOT}/lib"
|
2022-07-06 07:10:36 +08:00
|
|
|
ro="-ij-gpu -struct -rt -save ${save} -script gpu_tile_compact.sh -rtol ${rtol} -atol ${atol}"
|
|
|
|
|
./test.sh basic.sh $src_dir -co: $co -mo: $mo -ro: $ro
|
|
|
|
|
./renametest.sh basic $output_dir/basic-sycl-um
|
|
|
|
|
|
2022-02-09 22:40:57 +08:00
|
|
|
|
|
|
|
|
############
|
|
|
|
|
## OMP4.5 ##
|
|
|
|
|
############
|
|
|
|
|
|
2022-12-06 08:21:03 +08:00
|
|
|
# WM: todo
|
2022-02-09 22:40:57 +08:00
|
|
|
# OMP 4.5 without UM in debug mode [struct]
|
2022-12-06 08:21:03 +08:00
|
|
|
# co="--with-device-openmp --enable-debug --enable-fortran=no --with-extra-CXXFLAGS=\\'-Wno-missing-prototype-for-cc\\' --with-extra-CFLAGS=\\'-Wno-missing-prototype-for-cc\\' CC= CXX= --with-MPI-include=${MPI_ROOT}/include --with-MPI-libs=mpi --with-MPI-lib-dirs=${MPI_ROOT}/lib"
|
|
|
|
|
# ro="-struct -rt -save ${save} -script gpu_tile_compact.sh"
|
|
|
|
|
# ./test.sh basic.sh $src_dir -co: $co -mo: $mo -ro: $ro
|
|
|
|
|
# ./renametest.sh basic $output_dir/basic-deviceomp-nonum-debug-struct
|
2022-02-09 22:40:57 +08:00
|
|
|
|
|
|
|
|
############
|
|
|
|
|
## KOKKOS ##
|
|
|
|
|
############
|
|
|
|
|
|
2022-12-06 08:21:03 +08:00
|
|
|
# WM: todo
|
2022-02-09 22:40:57 +08:00
|
|
|
# Kokkos without UM in debug mode [struct]
|
2022-12-06 08:21:03 +08:00
|
|
|
# co="--with-device-openmp --with-kokkos --enable-debug --with-kokkos-include=$KOKKOS_HOME/include --with-kokkos-lib=$KOKKOS_HOME/lib64/libkokkoscore.a --with-cxxstandard=17 --with-extra-CXXFLAGS=\\'-fno-exceptions -D__STRICT_ANSI__\\' --enable-fortran=no CC= CXX= --with-MPI-include=${MPI_ROOT}/include --with-MPI-libs=mpi --with-MPI-lib-dirs=${MPI_ROOT}/lib"
|
|
|
|
|
# ro="-struct -rt -save ${save} -script gpu_tile_compact.sh"
|
|
|
|
|
# ./test.sh basic.sh $src_dir -co: $co -mo: $mo -ro: $ro
|
|
|
|
|
# ./renametest.sh basic $output_dir/basic-kokkos-nonum-debug-struct
|
2022-02-09 22:40:57 +08:00
|
|
|
|
|
|
|
|
##########################################################
|
|
|
|
|
# Echo to stderr all nonempty error files in $output_dir #
|
|
|
|
|
##########################################################
|
|
|
|
|
for errfile in $( find $output_dir ! -size 0 -name "*.err" )
|
|
|
|
|
do
|
|
|
|
|
echo $errfile >&2
|
|
|
|
|
done
|
|
|
|
|
|