Building and Running on Aurora - SCOREC/pumi-pic GitHub Wiki
Build for GPUs using the Intel compilers and the SYCL model
#!/bin/bash -e
export root=$PWD
echo "start building in: $root"
module load mpich/opt/4.3.0
module load netcdf-c
module load cmake
module load hdf5
module load netcdf-fortran
export MPICH_CXX=$root/kokkos/bin/nvcc_wrapper
export ftn_compiler=ifx
export cxx_compiler=icpx
export c_compiler=icx
# mkdir $root
cd $root
export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:\
$root/build-kokkos/install:\
$root/build-omegah/install:\
$root/build-cabana/install:\
$root/build-engpar/install:\
$root/build-pumipic/install
# kokkos
# git clone -b 4.5.00 https://github.com/kokkos/kokkos.git
cmake -S kokkos -B build-kokkos \
-DCMAKE_INSTALL_PREFIX=build-kokkos/install \
-DCMAKE_CXX_COMPILER=$cxx_compiler \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DKokkos_ARCH_INTEL_PVC=ON \
-DKokkos_ENABLE_SYCL=ON \
-DKokkos_ENABLE_SERIAL=ON \
-DKokkos_ENABLE_DEBUG=off
cmake --build build-kokkos -j 24 --target install
# omegah
# git clone https://github.com/SCOREC/omega_h.git
cmake -S omega_h -B build-omegah \
-DCMAKE_INSTALL_PREFIX=build-omegah/install \
-DCMAKE_BUILD_TYPE=Release \
-DOmega_h_USE_Kokkos=ON \
-DOmega_h_USE_SYCL=ON \
-DOmega_h_USE_MPI=on \
-DCMAKE_CXX_COMPILER=$cxx_compiler \
-DBUILD_TESTING=off
cmake --build build-omegah -j 24 --target install
# engpar
# git clone https://github.com/SCOREC/EnGPar.git
unset MPICH_CXX #don't want nvcc_wrapper for engpar
cmake -S EnGPar -B build-engpar \
-DCMAKE_INSTALL_PREFIX=build-engpar/install \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=mpicc \
-DCMAKE_CXX_COMPILER=mpic++ \
-DCMAKE_CXX_FLAGS="-std=c++11" \
-DENABLE_PARMETIS=OFF \
-DENABLE_PUMI=OFF \
-DIS_TESTING=OFF
cmake --build build-engpar -j 24 --target install
export MPICH_CXX=$root/kokkos/bin/nvcc_wrapper #restore use of nvcc_wrapper
# cabana
# git clone -b 0.6.1 https://github.com/ECP-copa/Cabana.git cabana
cmake -S cabana -B build-cabana \
-DCMAKE_INSTALL_PREFIX=build-cabana/install \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_COMPILER=$cxx_compiler \
-DCabana_REQUIRE_HDF5=OFF \
-DCabana_ENABLE_TESTING=OFF \
-DCabana_ENABLE_EXAMPLES=OFF
cmake --build build-cabana -j 24 --target install
# pumipic
# git clone --recursive https://github.com/SCOREC/pumi-pic
cmake -S pumi-pic -B build-pumipic \
-DCMAKE_INSTALL_PREFIX=build-pumipic/install \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_COMPILER=$cxx_compiler \
-DCMAKE_C_COMPILER=$c_compiler \
-DENABLE_CABANA=ON \
-DTEST_DATA_DIR=$root/pumi-pic/pumipic-data \
-DIS_TESTING=on \
-DPS_IS_TESTING=on
cmake --build build-pumipic -j 24 --target install