diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 28ba75bfd2b..42bee77ccbc 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,7 @@ "build": { "dockerfile": "Dockerfile", "args": { - "GEOS_TPL_TAG": "288-584" + "GEOS_TPL_TAG": "276-586" } }, "runArgs": [ diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 32d77b0cc5e..bf5c40b5a1e 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -148,21 +148,25 @@ jobs: include: - name: Ubuntu (20.04, gcc 9.4.0, open-mpi 4.0.3) CMAKE_BUILD_TYPE: Release + BUILD_GENERATOR: "--ninja" DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9 BUILD_SHARED_LIBS: ON - name: Ubuntu debug (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces CMAKE_BUILD_TYPE: Debug + BUILD_GENERATOR: "--ninja" DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 BUILD_SHARED_LIBS: ON - name: Ubuntu (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces CMAKE_BUILD_TYPE: Release + BUILD_GENERATOR: "--ninja" DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 BUILD_SHARED_LIBS: ON - name: Ubuntu (22.04, gcc 11.4.0, open-mpi 4.1.2) CMAKE_BUILD_TYPE: Release + BUILD_GENERATOR: "--ninja" DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11 ENABLE_HYPRE: ON ENABLE_TRILINOS: OFF @@ -171,6 +175,7 @@ jobs: - name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2) CMAKE_BUILD_TYPE: Release + BUILD_GENERATOR: "--ninja" DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc12 ENABLE_HYPRE: ON ENABLE_TRILINOS: OFF @@ -178,20 +183,33 @@ jobs: - name: Ubuntu (22.04, clang 15.0.7, open-mpi 4.1.2) CMAKE_BUILD_TYPE: Release + BUILD_GENERATOR: "--ninja" DOCKER_REPOSITORY: geosx/ubuntu22.04-clang15 ENABLE_HYPRE: ON ENABLE_TRILINOS: OFF BUILD_SHARED_LIBS: ON + - name: Pangea4 (redhat 8, gcc 12.1.0, hpcx 2.20.0, mkl 2023.2.0) + BUILD_AND_TEST_CLI_ARGS: "--build-exe-only" + CMAKE_BUILD_TYPE: Release + BUILD_GENERATOR: "--makefile" + DOCKER_REPOSITORY: geosx/pangea4-gcc12.1-hpcxompi2.20.0-onemkl2023.2.0 + ENABLE_HYPRE: ON + ENABLE_TRILINOS: OFF + HOST_CONFIG: host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-hpcxompi2.20.0-onemkl2023.2.0.cmake + uses: ./.github/workflows/build_and_test.yml with: + BUILD_AND_TEST_CLI_ARGS: ${{ matrix.BUILD_AND_TEST_CLI_ARGS }} BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS }} CMAKE_BUILD_TYPE: ${{ matrix.CMAKE_BUILD_TYPE }} + BUILD_GENERATOR: ${{ matrix.BUILD_GENERATOR }} DOCKER_IMAGE_TAG: ${{ needs.is_not_draft_pull_request.outputs.DOCKER_IMAGE_TAG }} DOCKER_REPOSITORY: ${{ matrix.DOCKER_REPOSITORY }} ENABLE_HYPRE: ${{ matrix.ENABLE_HYPRE }} ENABLE_TRILINOS: ${{ matrix.ENABLE_TRILINOS }} GCP_BUCKET: ${{ matrix.GCP_BUCKET }} + HOST_CONFIG: ${{ matrix.HOST_CONFIG }} RUNS_ON: ubuntu-22.04 secrets: inherit @@ -335,7 +353,7 @@ jobs: CMAKE_BUILD_TYPE: Release BUILD_GENERATOR: "--makefile" DOCKER_REPOSITORY: geosx/pangea3-almalinux8-gcc9.4-openmpi4.1.2-cuda11.5.0-openblas0.3.18 - HOST_CONFIG: host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2-wave-solver.cmake + HOST_CONFIG: host-configs/TotalEnergies/pangea-3/pangea3-gcc8.4.1-openmpi-4.1.2-wave-solver.cmake ENABLE_HYPRE_DEVICE: CUDA ENABLE_HYPRE: ON ENABLE_TRILINOS: OFF diff --git a/host-configs/TOTAL/pangea2-base.cmake b/host-configs/TOTAL/pangea2-base.cmake deleted file mode 100644 index 1cf855feb74..00000000000 --- a/host-configs/TOTAL/pangea2-base.cmake +++ /dev/null @@ -1,32 +0,0 @@ -####################################### -# -# Pangea2 - Base hostconfig -# -# -######################################## - -set( ENABLE_GTEST_DEATH_TESTS ON CACHE BOOL "" FORCE ) -set( ENABLE_UNCRUSTIFY ON CACHE BOOL "" FORCE ) -set( ENABLE_VTK ON CACHE BOOL "" FORCE ) -set( ENABLE_PVTPackage ON CACHE BOOL "" FORCE ) -set( ENABLE_PETSC OFF CACHE BOOL "" FORCE ) -set( ENABLE_MATHPRESSO ON CACHE BOOL "" FORCE ) -set( ENABLE_HYPRE ON CACHE BOOL "" FORCE ) -set( ENABLE_XML_UPDATES OFF CACHE BOOL "" FORCE ) -set( ENABLE_DOXYGEN OFF CACHE BOOL "" FORCE ) -set( ENABLE_BENCHMARKS OFF CACHE BOOL "" FORCE ) - -####################################### -# RAJA/CHAI SETUP -####################################### -option( RAJA_ENABLE_TBB "" OFF ) -option( ENABLE_CALIPER "Enables CALIPER" ON ) - -set( ENABLE_CUDA "OFF" CACHE PATH "" FORCE ) -set( CHAI_BUILD_TYPE "cpu-no-rm" CACHE PATH "" FORCE ) -set( CHAI_ARGS "" CACHE PATH "" FORCE ) - -set( ENABLE_OPENMP "OFF" CACHE PATH "" FORCE ) -set( RAJA_ENABLE_OPENMP "OFF" CACHE PATH "" FORCE ) - -include( ${CMAKE_CURRENT_LIST_DIR}/../tpls.cmake ) diff --git a/host-configs/TOTAL/pangea2-gcc@8.3.0.cmake b/host-configs/TOTAL/pangea2-gcc@8.3.0.cmake deleted file mode 100644 index 195bfe20f8d..00000000000 --- a/host-configs/TOTAL/pangea2-gcc@8.3.0.cmake +++ /dev/null @@ -1,39 +0,0 @@ -####################################### -# -# Pangea2 - Intel 19 build -# -# SET ENV VARIABLES: -# export HDF5_USE_FILE_LOCKING=FALSE -# -# Load modules in this order: -# 1) gcc/8.3.0 -# 3) openmpi/2.1.5 -# -######################################## - - -set( CONFIG_NAME "pangea2-gcc@8.3.0" CACHE PATH "" ) - -set( CMAKE_C_COMPILER "/data_local/sw/gcc/RHEL7/8.3.0/bin/gcc" CACHE PATH "" ) -set( CMAKE_CXX_COMPILER "/data_local/sw/gcc/RHEL7/8.3.0/bin/g++" CACHE PATH "" ) -set( CMAKE_Fortran_COMPILER "/data_local/sw/gcc/RHEL7/8.3.0/bin/gfortran" CACHE PATH "" ) - -set( ENABLE_FORTRAN OFF CACHE BOOL "" FORCE ) -set( ENABLE_MPI ON CACHE BOOL "" FORCE ) - -set( MPI_HOME "/data_local/sw/OpenMPI/RHEL7/2.1.5/gcc/8.3.0" CACHE PATH "" ) -set( MPI_C_COMPILER "${MPI_HOME}/bin/mpicc" CACHE PATH "" ) -set( MPI_CXX_COMPILER "${MPI_HOME}/bin/mpicxx" CACHE PATH "" ) -set( MPI_Fortran_COMPILER "${MPI_HOME}/bin/mpifort" CACHE PATH "" ) -set( MPIEXEC "${MPI_HOME}/bin/mpirun" CACHE PATH "" ) -set( MPIEXEC_NUMPROC_FLAG "-n" CACHE PATH "" ) - -set( ENABLE_MKL ON CACHE BOOL "" ) -set( MKL_ROOT /data_local/sw/intel/RHEL7/compilers_and_libraries_2019.3.199/linux/mkl ) -set( MKL_INCLUDE_DIRS ${MKL_ROOT}/include CACHE STRING "" ) -set( MKL_LIBRARIES ${MKL_ROOT}/lib/intel64/libmkl_intel_lp64.so - ${MKL_ROOT}/lib/intel64/libmkl_sequential.so - ${MKL_ROOT}/lib/intel64/libmkl_core.so - CACHE STRING "" ) - -include( ${CMAKE_CURRENT_LIST_DIR}/../../host-configs/TOTAL/pangea2-base.cmake ) diff --git a/host-configs/TOTAL/pangea2-icc@18.0.3.222.cmake b/host-configs/TOTAL/pangea2-icc@18.0.3.222.cmake deleted file mode 100644 index b33c32a2378..00000000000 --- a/host-configs/TOTAL/pangea2-icc@18.0.3.222.cmake +++ /dev/null @@ -1,42 +0,0 @@ -####################################### -# -# Pangea2(SLEL11) - Intel 18 build -# -# SET ENV VARIABLES: -# export HDF5_USE_FILE_LOCKING=FALSE -# -# Load modules in this order: -# 1) gcc/6.1.0 -# 2) intel-compxe/18.0.3.222 -# 3) intel-mpi/5.1.3.223 -# * This is to have the intel compiler use the gcc6 headers instead of the -# gcc4.4 headers, and to have intel-mpi to wrap intel instead of env cc. -# -######################################## - - -set(CONFIG_NAME "pangea2-icc@18.0.3.222" CACHE PATH "" ) - -set(INTEL_COMPILER_ROOT "/data_local/sw/intel/RHEL7/compilers_and_libraries_2018.3.222/linux" ) -set(CMAKE_C_COMPILER "${INTEL_COMPILER_ROOT}/bin/intel64/icc" CACHE PATH "") -set(CMAKE_CXX_COMPILER "${INTEL_COMPILER_ROOT}/bin/intel64/icpc" CACHE PATH "") -set(CMAKE_Fortran_COMPILER "${INTEL_COMPILER_ROOT}/bin/intel64/ifort" CACHE PATH "") - -set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG -march=native -mtune=native" CACHE STRING "") -set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -march=native -mtune=native" CACHE STRING "") -set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -march=native -mtune=native" CACHE STRING "") - -set(MPI_HOME "/data_local/sw/intel/impi/5.1.3.223/intel64" CACHE PATH "") - -set( BLT_MPI_LINK_FLAGS "-Wl,--enable-new-dtags -Wl,-rpath,/data_local/sw/intel/impi/5.1.3.223/intel64/lib/release_mt -Wl,-rpath,/data_local/sw/intel/impi/5.1.3.223/intel64/lib -Wl,-rpath,/opt/intel/mpi-rt/5.1/intel64/lib/release_mt -Wl,-rpath,/opt/intel/mpi-rt/5.1/intel64/lib" CACHE PATH "" FORCE ) - - -set(ENABLE_MKL ON CACHE BOOL "") -set(MKL_ROOT ${INTEL_COMPILER_ROOT}/mkl ) -set(MKL_INCLUDE_DIRS ${MKL_ROOT}/include CACHE STRING "") -set(MKL_LIBRARIES ${MKL_ROOT}/lib/intel64/libmkl_intel_lp64.so - ${MKL_ROOT}/lib/intel64/libmkl_intel_thread.so - ${MKL_ROOT}/lib/intel64/libmkl_core.so - CACHE STRING "") - -include(${CMAKE_CURRENT_LIST_DIR}/../../host-configs/TOTAL/pangea2-base.cmake) diff --git a/host-configs/TOTAL/pangea2-icc@19.0.3.199.cmake b/host-configs/TOTAL/pangea2-icc@19.0.3.199.cmake deleted file mode 100644 index 66fcccc734b..00000000000 --- a/host-configs/TOTAL/pangea2-icc@19.0.3.199.cmake +++ /dev/null @@ -1,51 +0,0 @@ -####################################### -# -# Pangea2 - Intel 19 build -# -# SET ENV VARIABLES: -# export HDF5_USE_FILE_LOCKING=FALSE -# -# Load modules in this order: -# 1) gcc/8.3.0 -# 2) intel-compxe/19.0.3.199 -# 3) intel-mpi/2019U3 -# * This is to have the intel compiler use the gcc8 headers instead of the -# gcc4.8.5 headers, and to have intel-mpi to wrap intel instead of env cc. -# -# For ATS, the default python needs to be python2.7 and you need mpi4py installed -# conda create -n python2 python=2.7 anaconda -# source activate python2 -######################################## - - -set(CONFIG_NAME "pangea2-icc@19.0.3.199" CACHE PATH "" ) - -set(INTEL_COMPILER_ROOT "/data_local/sw/intel/RHEL7/compilers_and_libraries_2019.3.199/linux" ) -set(CMAKE_C_COMPILER "${INTEL_COMPILER_ROOT}/bin/intel64/icc" CACHE PATH "") -set(CMAKE_CXX_COMPILER "${INTEL_COMPILER_ROOT}/bin/intel64/icpc" CACHE PATH "") -set(CMAKE_Fortran_COMPILER "${INTEL_COMPILER_ROOT}/bin/intel64/ifort" CACHE PATH "") - -set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG -march=native -mtune=native" CACHE STRING "") -set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -march=native -mtune=native" CACHE STRING "") -set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -march=native -mtune=native" CACHE STRING "") - -set(ENABLE_FORTRAN OFF CACHE BOOL "" FORCE) -set(ENABLE_MPI ON CACHE BOOL "" FORCE) - -set(MPI_HOME "${INTEL_COMPILER_ROOT}/mpi/intel64" CACHE PATH "") -set(MPI_C_COMPILER "${MPI_HOME}/bin/mpiicc" CACHE PATH "") -set(MPI_CXX_COMPILER "${MPI_HOME}/bin/mpiicpc" CACHE PATH "") -set(MPI_Fortran_COMPILER "${MPI_HOME}/bin/mpiifort" CACHE PATH "") -set(MPIEXEC "${MPI_HOME}/bin/mpirun" CACHE PATH "") -set(MPIEXEC_NUMPROC_FLAG "-n" CACHE PATH "") - -set(ENABLE_MKL ON CACHE BOOL "") -set(MKL_ROOT ${INTEL_COMPILER_ROOT}/mkl ) -set(MKL_INCLUDE_DIRS ${MKL_ROOT}/include CACHE STRING "") -set(MKL_LIBRARIES ${MKL_ROOT}/lib/intel64/libmkl_intel_lp64.so - ${MKL_ROOT}/lib/intel64/libmkl_intel_thread.so - ${MKL_ROOT}/lib/intel64/libmkl_core.so - CACHE STRING "") - -include(${CMAKE_CURRENT_LIST_DIR}/../../host-configs/TOTAL/pangea2-base.cmake) - diff --git a/host-configs/TOTAL/pangea2-icc@19.1.0.166.cmake b/host-configs/TOTAL/pangea2-icc@19.1.0.166.cmake deleted file mode 100644 index f3b308bb651..00000000000 --- a/host-configs/TOTAL/pangea2-icc@19.1.0.166.cmake +++ /dev/null @@ -1,42 +0,0 @@ -####################################### -# -# Pangea2 - Intel 19 build -# -# SET ENV VARIABLES: -# export HDF5_USE_FILE_LOCKING=FALSE -# -# Load modules in this order: -# 1) gcc/8.3.0 -# 2) intel-compxe/19.1.0.166 -# 3) intel-mpi/2020 -# * This is to have the intel compiler use the gcc8 headers instead of the -# gcc4.8.5 headers, and to have intel-mpi to wrap intel instead of env cc. -# -######################################## - - -set(CONFIG_NAME "pangea2-icc@19.1.0.166" CACHE PATH "" ) - -set(INTEL_COMPILER_ROOT "/data_local/sw/intel/RHEL7/compilers_and_libraries_2020.0.166/linux" ) -set(CMAKE_C_COMPILER "${INTEL_COMPILER_ROOT}/bin/intel64/icc" CACHE PATH "") -set(CMAKE_CXX_COMPILER "${INTEL_COMPILER_ROOT}/bin/intel64/icpc" CACHE PATH "") -set(CMAKE_Fortran_COMPILER "${INTEL_COMPILER_ROOT}/bin/intel64/ifort" CACHE PATH "") - -set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG -march=native -mtune=native" CACHE STRING "") -set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -march=native -mtune=native" CACHE STRING "") -set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -march=native -mtune=native" CACHE STRING "") - -set(MPI_HOME "${INTEL_COMPILER_ROOT}/mpi/intel64" CACHE PATH "") - -#set( BLT_MPI_LINK_FLAGS "-Wl,--enable-new-dtags -Wl,-rpath,/data_local/sw/intel/RHEL7/compilers_and_libraries_2019.3.199/linux/mpi/intel64/lib/release -Wl,-rpath,/data_local/sw/intel/RHEL7/compilers_and_libraries_2019.3.199/linux/mpi/intel64/lib" CACHE PATH "" FORCE ) -#set( BLT_MPI_LINK_FLAGS "-Wl,--enable-new-dtags -Wl,-rpath,${MPI_HOME}/lib/release -Wl,-rpath,${MPI_HOME}/lib" CACHE PATH "" FORCE ) - -set(MKL_ROOT ${INTEL_COMPILER_ROOT}/mkl ) -set(MKL_INCLUDE_DIRS ${MKL_ROOT}/include CACHE STRING "") -set(MKL_LIBRARIES ${MKL_ROOT}/lib/intel64/libmkl_intel_lp64.so - ${MKL_ROOT}/lib/intel64/libmkl_intel_thread.so - ${MKL_ROOT}/lib/intel64/libmkl_core.so - CACHE STRING "") - -include(${CMAKE_CURRENT_LIST_DIR}/../../host-configs/TOTAL/pangea2-base.cmake) - diff --git a/host-configs/TOTAL/pecan-CPU.cmake b/host-configs/TOTAL/pecan-CPU.cmake deleted file mode 100644 index a68d14fbc62..00000000000 --- a/host-configs/TOTAL/pecan-CPU.cmake +++ /dev/null @@ -1,37 +0,0 @@ -set(COMPILER_HOME "/apps/gcc/8.2.0/x86_64") -set(MPI_HOME "/hrtc/apps/mpi/openmpi/4.0.1/RDHPC/gcc/8.2.0") - -set(CMAKE_C_COMPILER ${COMPILER_HOME}/bin/gcc CACHE PATH "" FORCE) -set(CMAKE_CXX_COMPILER ${COMPILER_HOME}/bin/g++ CACHE PATH "" FORCE) -set(ENABLE_FORTRAN OFF CACHE BOOL "" FORCE) - -set(ENABLE_MPI ON CACHE PATH "" FORCE) -set(ENABLE_OPENMP ON CACHE PATH "" FORCE) - -set(MPI_C_COMPILER "${MPI_HOME}/bin/mpicc" CACHE PATH "" FORCE) -set(MPI_CXX_COMPILER "${MPI_HOME}/bin/mpicxx" CACHE PATH "" FORCE) -set(MPIEXEC_EXECUTABLE "${MPI_HOME}/bin/mpirun" CACHE PATH "" FORCE) -#set(MPIEXEC_NUMPROC_FLAG "-p pecan -n" CACHE STRING "") -set(ENABLE_WRAP_ALL_TESTS_WITH_MPIEXEC ON CACHE BOOL "") - -set(ENABLE_PETSC OFF CACHE BOOL "" FORCE ) -set(ENABLE_TRILINOS OFF CACHE BOOL "" FORCE ) -set(ENABLE_HYPRE ON CACHE BOOL "" FORCE ) - -set(ENABLE_GTEST_DEATH_TESTS ON CACHE BOOL "" FORCE) -set(ENABLE_CALIPER ON CACHE BOOL "") - -set(ENABLE_GEOS_PTP ON CACHE BOOL "" FORCE) - -set(ENABLE_MKL ON CACHE BOOL "") -set(INTEL_ROOT "/apps/intel/2019/u5/compilers_and_libraries_2019.5.281/linux" ) -set(MKL_ROOT "${INTEL_ROOT}/mkl" ) -set(MKL_INCLUDE_DIRS ${MKL_ROOT}/include CACHE STRING "") -set(MKL_LIBRARIES ${MKL_ROOT}/lib/intel64/libmkl_intel_lp64.so - ${MKL_ROOT}/lib/intel64/libmkl_intel_thread.so - ${MKL_ROOT}/lib/intel64/libmkl_core.so - ${INTEL_ROOT}/compiler/lib/intel64_lin/libiomp5.so - CACHE STRING "") - -set(GEOS_TPL_DIR "$ENV{GEOSX_TPL_DIR}" CACHE PATH "" FORCE) -include(${CMAKE_CURRENT_LIST_DIR}/../tpls.cmake) diff --git a/host-configs/TOTAL/pecan-GPU.cmake b/host-configs/TOTAL/pecan-GPU.cmake deleted file mode 100644 index 1b6e419df99..00000000000 --- a/host-configs/TOTAL/pecan-GPU.cmake +++ /dev/null @@ -1,18 +0,0 @@ -# Retrieve the compilers, standard libraries... from the CPU configuration -include(${CMAKE_CURRENT_LIST_DIR}/pecan-CPU.cmake) - -# Now let's add what's dedicated to GPU. -set(ENABLE_CUDA ON CACHE PATH "" FORCE) -set(CUDA_TOOLKIT_ROOT_DIR /hrtc/apps/cuda/11.5.119/x86_64/centos7 CACHE PATH "") -set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER} CACHE STRING "") -set(CMAKE_CUDA_COMPILER ${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc CACHE STRING "") - -set(CUDA_ARCH sm_75 CACHE STRING "") -set(CMAKE_CUDA_FLAGS "-restrict -arch ${CUDA_ARCH} --expt-relaxed-constexpr --expt-extended-lambda -Werror cross-execution-space-call,reorder,deprecated-declarations" CACHE STRING "") -set(CMAKE_CUDA_FLAGS_RELEASE "-O3 -DNDEBUG -Xcompiler -DNDEBUG -Xcompiler -O3" CACHE STRING "") -set(CMAKE_CUDA_FLAGS_RELWITHDEBINFO "-g -lineinfo ${CMAKE_CUDA_FLAGS_RELEASE}" CACHE STRING "") -set(CMAKE_CUDA_FLAGS_DEBUG "-g -G -O0 -Xcompiler -O0" CACHE STRING "") - -# Current version of hypre does not build with GPU support. -# Most recent version does build. Let's wait for an upgrade on our side. -set(ENABLE_HYPRE_DEVICE "CPU" CACHE STRING "" FORCE) diff --git a/host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2-wave-solver.cmake b/host-configs/TotalEnergies/pangea-3/pangea3-gcc11.4.0-openmpi-4.1.6-wave-solver.cmake similarity index 85% rename from host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2-wave-solver.cmake rename to host-configs/TotalEnergies/pangea-3/pangea3-gcc11.4.0-openmpi-4.1.6-wave-solver.cmake index 46c8080ddb7..5ebd5f36219 100644 --- a/host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2-wave-solver.cmake +++ b/host-configs/TotalEnergies/pangea-3/pangea3-gcc11.4.0-openmpi-4.1.6-wave-solver.cmake @@ -1,7 +1,7 @@ # hostconfig to build only the wave solver on pangea3 # # -include( ${CMAKE_CURRENT_LIST_DIR}/pangea3-gcc8.4.1-openmpi-4.1.2.cmake ) +include( ${CMAKE_CURRENT_LIST_DIR}/pangea3-gcc11.4.0-openmpi-4.1.6.cmake ) set ( GEOS_ENABLE_CONTACT OFF CACHE BOOL "" FORCE ) set ( GEOS_ENABLE_FLUIDFLOW OFF CACHE BOOL "" FORCE ) diff --git a/host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2.cmake b/host-configs/TotalEnergies/pangea-3/pangea3-gcc11.4.0-openmpi-4.1.6.cmake similarity index 93% rename from host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2.cmake rename to host-configs/TotalEnergies/pangea-3/pangea3-gcc11.4.0-openmpi-4.1.6.cmake index 320a7842279..a91bdc32c46 100644 --- a/host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2.cmake +++ b/host-configs/TotalEnergies/pangea-3/pangea3-gcc11.4.0-openmpi-4.1.6.cmake @@ -1,7 +1,7 @@ # hostconfig for pangea3 # # -set(CONFIG_NAME "pangea3-gcc8.4.1-ompi-4.1.2" CACHE PATH "") +set(CONFIG_NAME "pangea3-gcc11.4.0-ompi-4.1.6" CACHE PATH "") # Set up the tpls set(GEOS_TPL_DIR "$ENV{GEOSX_TPL_DIR}" CACHE PATH "" FORCE) @@ -42,7 +42,7 @@ if (DEFINED ENV{MPI_ROOT}) set(MPIEXEC $ENV{MPI_ROOT}/bin/mpirun CACHE STRING "") set(ENABLE_WRAP_ALL_TESTS_WITH_MPIEXEC ON CACHE BOOL "") else() - message(FATAL_ERROR "You must have MPI_ROOT variable set, we advise loading module ompi/4.1.2") + message(FATAL_ERROR "You must have MPI_ROOT variable set, we advise loading module ompi/4.1.6") endif() # Cuda options @@ -62,7 +62,7 @@ if (DEFINED ENV{CUDA_ROOT}) # Uncomment this line to make nvcc output register usage for each kernel. # set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --resource-usage" CACHE STRING "" FORCE) else() - message(FATAL_ERROR "You must have CUDA_ROOT environment variable set, we advise loading module cuda/11.5.0") + message(FATAL_ERROR "You must have CUDA_ROOT environment variable set, we advise loading module cuda/11.8.0") endif() # GTEST options @@ -92,7 +92,7 @@ if (DEFINED ENV{OPENBLAS_ROOT}) set(BLAS_LIBRARIES $ENV{OPENBLAS_ROOT}/lib/libopenblas.a) set(LAPACK_LIBRARIES $ENV{OPENBLAS_ROOT}/lib/libopenblas.a) else() - message(FATAL_ERROR "You must have OPENBLAS_ROOT environment variable set, we advise loading module openblas/0.3.18") + message(FATAL_ERROR "You must have OPENBLAS_ROOT environment variable set, we advise loading module openblas/0.3.18+openmp") endif() set(ENABLE_DOXYGEN OFF CACHE PATH "") @@ -105,7 +105,7 @@ set(ENABLE_PETSC OFF CACHE BOOL "") set(ENABLE_HYPRE ON CACHE BOOL "") set(ENABLE_HYPRE_DEVICE "CUDA" CACHE BOOL "") -# disable benchmarks, they are incompatible with P3's nvcc version (cuda 11.5.0) +# disable benchmarks, they are incompatible with P3's nvcc version set(ENABLE_BENCHMARKS OFF CACHE BOOL "") -include( ${CMAKE_CURRENT_LIST_DIR}/../tpls.cmake ) +include( ${CMAKE_CURRENT_LIST_DIR}/../../tpls.cmake ) diff --git a/host-configs/TOTAL/pangea4-base.cmake b/host-configs/TotalEnergies/pangea-4/pangea4-base.cmake similarity index 88% rename from host-configs/TOTAL/pangea4-base.cmake rename to host-configs/TotalEnergies/pangea-4/pangea4-base.cmake index 17caf065580..dd6c440335f 100644 --- a/host-configs/TOTAL/pangea4-base.cmake +++ b/host-configs/TotalEnergies/pangea-4/pangea4-base.cmake @@ -63,3 +63,12 @@ set( RAJA_ENABLE_TBB OFF CACHE BOOL "" FORCE ) set( ENABLE_PYGEOSX ON CACHE BOOL "" ) set( ENABLE_VTK_WRAP_PYTHON ON CACHE BOOL "" ) + +####################################### +# TPLs +####################################### + +set( GEOS_TPL_DIR "$ENV{GEOS_TPL_DIR}" CACHE PATH "" ) +if( NOT EXISTS ${GEOS_TPL_DIR} ) + message(FATAL_ERROR "GEOS_TPL_DIR not found in environment, set it with -DGEOS_TPL_DIR=") +endif() \ No newline at end of file diff --git a/host-configs/TOTAL/pangea4-gcc12.1-hpcxompi2.17.1-onemkl2023.2.0.cmake b/host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-hpcxompi2.20.0-onemkl2023.2.0.cmake similarity index 89% rename from host-configs/TOTAL/pangea4-gcc12.1-hpcxompi2.17.1-onemkl2023.2.0.cmake rename to host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-hpcxompi2.20.0-onemkl2023.2.0.cmake index b84e1040be4..a58a83149a1 100644 --- a/host-configs/TOTAL/pangea4-gcc12.1-hpcxompi2.17.1-onemkl2023.2.0.cmake +++ b/host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-hpcxompi2.20.0-onemkl2023.2.0.cmake @@ -20,7 +20,7 @@ # - cray-python = 3.10.10 # - craype-x86-milan = 1.0 # PrgEnv-gnu loads gcc 12 that does not support craype-x86-genoa -# - hpcx = 2.17.1 +# - hpcx = 2.20.0 # - intel-oneapi-mkl = 2023.2.0 # # Load modules this way : @@ -31,7 +31,7 @@ # ######################################## -set( CONFIG_NAME "pangea4-gcc12.1-hpcxompi2.17.1-onemkl2023.2.0" CACHE PATH "" ) +set( CONFIG_NAME "pangea4-gcc12.1-hpcxompi2.20.0-onemkl2023.2.0" CACHE PATH "" ) include(${CMAKE_CURRENT_LIST_DIR}/pangea4-base.cmake) @@ -91,9 +91,14 @@ if( NOT DEFINED ENV{MKLROOT} ) message( FATAL_ERROR "MKL is not loaded. Please load the intel-oneapi-mkl/2023.2.0 module." ) endif() +if ( NOT DEFINED ENV{GOMP_ROOT} ) + message( STATUS "GOMP_ROOT is not set. Setting it to $ENV{GCC_PATH}/lib/gcc/x86_64-redhat-linux/12" ) + set( ENV{GOMP_ROOT} $ENV{GCC_PATH}/lib/gcc/x86_64-redhat-linux/12 ) +endif() + set( MKL_INCLUDE_DIRS $ENV{MKLROOT}/include CACHE STRING "" ) set( MKL_LIBRARIES $ENV{MKLROOT}/lib/intel64/libmkl_rt.so - $ENV{GCC_PATH}/lib/gcc/x86_64-redhat-linux/12/libgomp.so + $ENV{GOMP_ROOT}/libgomp.so CACHE STRING "" ) -include( ${CMAKE_CURRENT_LIST_DIR}/../tpls.cmake ) +include( ${CMAKE_CURRENT_LIST_DIR}/../../tpls.cmake ) diff --git a/host-configs/TOTAL/pangea4-gcc12.1-hpcxompi2.17.1-openblas0.3.23.cmake b/host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-hpcxompi2.20.0-openblas0.3.23.cmake similarity index 95% rename from host-configs/TOTAL/pangea4-gcc12.1-hpcxompi2.17.1-openblas0.3.23.cmake rename to host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-hpcxompi2.20.0-openblas0.3.23.cmake index 53080a4d708..460b4e93b4e 100644 --- a/host-configs/TOTAL/pangea4-gcc12.1-hpcxompi2.17.1-openblas0.3.23.cmake +++ b/host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-hpcxompi2.20.0-openblas0.3.23.cmake @@ -20,7 +20,7 @@ # - cray-python = 3.10.10 # - craype-x86-milan = 1.0 # PrgEnv-gnu loads gcc 12 that does not support craype-x86-genoa -# - hpcx = 2.17.1 +# - hpcx = 2.20.0 # - openblas = 0.3.23 # # Load modules this way : @@ -31,7 +31,7 @@ # ######################################## -set( CONFIG_NAME "pangea4-gcc12.1-hpcxompi2.17.1-openblas0.3.23" CACHE PATH "" ) +set( CONFIG_NAME "pangea4-gcc12.1-hpcxompi2.20.0-openblas0.3.23" CACHE PATH "" ) include(${CMAKE_CURRENT_LIST_DIR}/pangea4-base.cmake) @@ -91,4 +91,4 @@ if(NOT OPENBLAS_LIB) message(FATAL_ERROR "OpenBLAS is not loaded. Please load the openblas/0.3.23 module.") endif() -include( ${CMAKE_CURRENT_LIST_DIR}/../tpls.cmake ) +include( ${CMAKE_CURRENT_LIST_DIR}/../../tpls.cmake ) diff --git a/host-configs/TOTAL/pangea4-gcc12.1-openmpi4.1.6-onemkl2023.2.0.cmake b/host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-openmpi4.1.6-onemkl2023.2.0.cmake similarity index 91% rename from host-configs/TOTAL/pangea4-gcc12.1-openmpi4.1.6-onemkl2023.2.0.cmake rename to host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-openmpi4.1.6-onemkl2023.2.0.cmake index e4265966ef0..bc5bf12f9b6 100644 --- a/host-configs/TOTAL/pangea4-gcc12.1-openmpi4.1.6-onemkl2023.2.0.cmake +++ b/host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-openmpi4.1.6-onemkl2023.2.0.cmake @@ -91,9 +91,14 @@ if( NOT DEFINED ENV{MKLROOT} ) message( FATAL_ERROR "MKL is not loaded. Please load the intel-oneapi-mkl/2023.2.0 module." ) endif() +if ( NOT DEFINED ENV{GOMP_ROOT} ) + message( STATUS "GOMP_ROOT is not set. Setting it to $ENV{GCC_PATH}/lib/gcc/x86_64-redhat-linux/12" ) + set( ENV{GOMP_ROOT} $ENV{GCC_PATH}/lib/gcc/x86_64-redhat-linux/12 ) +endif() + set( MKL_INCLUDE_DIRS $ENV{MKLROOT}/include CACHE STRING "" ) set( MKL_LIBRARIES $ENV{MKLROOT}/lib/intel64/libmkl_rt.so - $ENV{GCC_PATH}/lib/gcc/x86_64-redhat-linux/12/libgomp.so + $ENV{GOMP_ROOT}/libgomp.so CACHE STRING "" ) -include( ${CMAKE_CURRENT_LIST_DIR}/../tpls.cmake ) +include( ${CMAKE_CURRENT_LIST_DIR}/../../tpls.cmake ) diff --git a/host-configs/TOTAL/pangea4-gcc12.1-openmpi4.1.6-openblas0.3.23.cmake b/host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-openmpi4.1.6-openblas0.3.23.cmake similarity index 98% rename from host-configs/TOTAL/pangea4-gcc12.1-openmpi4.1.6-openblas0.3.23.cmake rename to host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-openmpi4.1.6-openblas0.3.23.cmake index e3a7c22b0c7..2997347f59d 100644 --- a/host-configs/TOTAL/pangea4-gcc12.1-openmpi4.1.6-openblas0.3.23.cmake +++ b/host-configs/TotalEnergies/pangea-4/pangea4-gcc12.1-openmpi4.1.6-openblas0.3.23.cmake @@ -91,4 +91,4 @@ if(NOT OPENBLAS_LIB) message(FATAL_ERROR "OpenBLAS is not loaded. Please load the openblas/0.3.23 module.") endif() -include( ${CMAKE_CURRENT_LIST_DIR}/../tpls.cmake ) +include( ${CMAKE_CURRENT_LIST_DIR}/../../tpls.cmake )