From bcf9eedfba33e5dfe127f3b7b11831ed0433cb61 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Fri, 26 May 2023 17:08:57 -0700 Subject: [PATCH] Switch to Clang 12 Avoid GCC 8.3 compiler bugs. --- Docs/source/install/hpc/lassen.rst | 8 +++++++- .../lassen-llnl/lassen_warpx.profile.example | 13 +++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Docs/source/install/hpc/lassen.rst b/Docs/source/install/hpc/lassen.rst index c0b89f367be..f749b53e0df 100644 --- a/Docs/source/install/hpc/lassen.rst +++ b/Docs/source/install/hpc/lassen.rst @@ -51,10 +51,16 @@ And since Lassen does not yet provide a module for them, install ADIOS2, BLAS++ cmake -S src/c-blosc -B src/c-blosc-lassen-build -DBUILD_TESTS=OFF -DBUILD_BENCHMARKS=OFF -DDEACTIVATE_AVX2=OFF -DCMAKE_INSTALL_PREFIX=$HOME/sw/lassen/c-blosc-1.21.1 cmake --build src/c-blosc-lassen-build --target install --parallel 16 + # HDF5 + git clone -b hdf5-1_14_1-2 https://github.com/HDFGroup/hdf5.git src/hdf5 + rm -rf src/hdf5-lassen-build + cmake -S src/hdf5 -B src/hdf5-lassen-build -DHDF5_ENABLE_PARALLEL=ON -DCMAKE_INSTALL_PREFIX=$HOME/sw/lassen/hdf5-1.14.1.2 + cmake --build src/hdf5-lassen-build --target install --parallel 16 + # ADIOS2 git clone -b v2.8.3 https://github.com/ornladios/ADIOS2.git src/adios2 rm -rf src/adios2-lassen-build - cmake -S src/adios2 -B src/adios2-lassen-build -DADIOS2_USE_Blosc=ON -DADIOS2_USE_Fortran=OFF -DADIOS2_USE_Python=OFF -DADIOS2_USE_SST=OFF -DADIOS2_USE_ZeroMQ=OFF -DCMAKE_INSTALL_PREFIX=$HOME/sw/lassen/adios2-2.8.3 + cmake -S src/adios2 -B src/adios2-lassen-build -DADIOS2_BUILD_EXAMPLES=OFF -DADIOS2_USE_Blosc=ON -DADIOS2_USE_Fortran=OFF -DADIOS2_USE_Python=OFF -DADIOS2_USE_SST=OFF -DADIOS2_USE_ZeroMQ=OFF -DCMAKE_INSTALL_PREFIX=$HOME/sw/lassen/adios2-2.8.3 cmake --build src/adios2-lassen-build --target install -j 16 # BLAS++ (for PSATD+RZ) diff --git a/Tools/machines/lassen-llnl/lassen_warpx.profile.example b/Tools/machines/lassen-llnl/lassen_warpx.profile.example index 2d113fd914c..fb605b53ec2 100644 --- a/Tools/machines/lassen-llnl/lassen_warpx.profile.example +++ b/Tools/machines/lassen-llnl/lassen_warpx.profile.example @@ -1,19 +1,20 @@ # please set your project account -#export proj= +#export proj="" # edit this and comment in # required dependencies module load cmake/3.23.1 -module load gcc/8.3.1 +module load clang/12.0.1-gcc-8.3.1 module load cuda/12.0.0 # optional: for QED lookup table generation support module load boost/1.70.0 # optional: for openPMD support -module load hdf5-parallel/1.12.2 export CMAKE_PREFIX_PATH=$HOME/sw/lassen/c-blosc-1.21.1:$CMAKE_PREFIX_PATH +export CMAKE_PREFIX_PATH=$HOME/sw/lassen/hdf5-1.14.1.2:$CMAKE_PREFIX_PATH export CMAKE_PREFIX_PATH=$HOME/sw/lassen/adios2-2.8.3:$CMAKE_PREFIX_PATH export LD_LIBRARY_PATH=$HOME/sw/lassen/c-blosc-1.21.1/lib64:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH=$HOME/sw/lassen/hdf5-1.14.1.2/lib64:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$HOME/sw/lassen/adios2-2.8.3/lib64:$LD_LIBRARY_PATH # optional: for PSATD in RZ geometry support @@ -36,8 +37,8 @@ export AMREX_CUDA_ARCH=7.0 export CUDAARCHS=70 # compiler environment hints -export CC=$(which gcc) -export CXX=$(which g++) +export CC=$(which clang) +export CXX=$(which clang++) export FC=$(which gfortran) export CUDACXX=$(which nvcc) -export CUDAHOSTCXX=$(which g++) +export CUDAHOSTCXX=$(which clang++)