Skip to content

Commit

Permalink
Merge branch 'develop' into feature/wrtobin/memspace-aware-packing
Browse files Browse the repository at this point in the history
  • Loading branch information
Lionel Untereiner committed Jul 12, 2023
2 parents a744f03 + 991327d commit 6b5341b
Show file tree
Hide file tree
Showing 296 changed files with 8,523 additions and 3,223 deletions.
35 changes: 28 additions & 7 deletions .github/workflows/ci_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ concurrency:
cancel-in-progress: true

env:
GEOSX_TPL_TAG: 220-932
GEOSX_TPL_TAG: 224-965

jobs:
# Matrix jobs will be cancelled if PR is a draft.
Expand Down Expand Up @@ -88,7 +88,8 @@ jobs:

linux_builds:
name: ${{ matrix.name }}
runs-on: ubuntu-22.04
# runs-on: ubuntu-22.04
runs-on: ${{ matrix.os }}
needs: [check_pull_request_is_not_a_draft]
strategy:

Expand All @@ -98,6 +99,7 @@ jobs:
include:
- name: Ubuntu CUDA debug (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.2.152)
DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.2.152
OS: Runner_4core_16GB
CMAKE_BUILD_TYPE: Debug
BUILD_AND_TEST_ARGS: "--disable-unit-tests --build-exe-only --disable-schema-deployment"
ENABLE_HYPRE: ON
Expand All @@ -106,52 +108,62 @@ jobs:

- name: Ubuntu CUDA (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.2.152)
DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.2.152
# OS: Runner_8core_32GB
OS: ubuntu-22.04
CMAKE_BUILD_TYPE: Release
BUILD_AND_TEST_ARGS: "--disable-unit-tests --disable-schema-deployment"
ENABLE_HYPRE: ON
ENABLE_HYPRE_DEVICE: CUDA
ENABLE_TRILINOS: OFF

- name: Centos (7.6, gcc 8.3.1, open-mpi 1.10.7, cuda 10.1.243)
DOCKER_REPOSITORY: geosx/centos7.6.1810-gcc8.3.1-cuda10.1.243
- name: Centos (7.7, gcc 8.3.1, open-mpi 1.10.7, cuda 11.8.0)
DOCKER_REPOSITORY: geosx/centos7.7-gcc8.3.1-cuda11.8.0
OS: ubuntu-22.04
CMAKE_BUILD_TYPE: Release
BUILD_AND_TEST_ARGS: "--disable-unit-tests --disable-schema-deployment"

- name: Ubuntu (20.04, gcc 9.3.0, open-mpi 4.0.3)
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9
OS: ubuntu-22.04
CMAKE_BUILD_TYPE: Release

- name: Ubuntu debug (20.04, gcc 10.3.0, open-mpi 4.0.3)
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10
OS: ubuntu-22.04
CMAKE_BUILD_TYPE: Debug

- name: Ubuntu (20.04, gcc 10.3.0, open-mpi 4.0.3)
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10
OS: ubuntu-22.04
CMAKE_BUILD_TYPE: Release

# Matrix jobs that deploy to Google Cloud
- name: Pecan GPU (centos 7.7, gcc 8.2.0, open-mpi 4.0.1, mkl 2019.5, cuda 10.2.89p2)
DOCKER_REPOSITORY: geosx/pecan-gpu-gcc8.2.0-openmpi4.0.1-mkl2019.5-cuda10.2.89p2
- name: Pecan GPU (centos 7.7, gcc 8.2.0, open-mpi 4.0.1, mkl 2019.5, cuda 11.5.119)
DOCKER_REPOSITORY: geosx/pecan-gpu-gcc8.2.0-openmpi4.0.1-mkl2019.5-cuda11.5.119
OS: ubuntu-22.04
CMAKE_BUILD_TYPE: Release
BUILD_AND_TEST_ARGS: "--disable-unit-tests --disable-schema-deployment"
BUILD_AND_TEST_ARGS: "--build-exe-only --disable-unit-tests --disable-schema-deployment"
HOST_CONFIG: host-configs/TOTAL/pecan-GPU.cmake
GCP_BUCKET: geosx/Pecan-GPU

- name: Pecan CPU (centos 7.7, gcc 8.2.0, open-mpi 4.0.1, mkl 2019.5)
DOCKER_REPOSITORY: geosx/pecan-cpu-gcc8.2.0-openmpi4.0.1-mkl2019.5
OS: ubuntu-22.04
CMAKE_BUILD_TYPE: Release
HOST_CONFIG: host-configs/TOTAL/pecan-CPU.cmake
GCP_BUCKET: geosx/Pecan-CPU

- name: Pangea 2 (centos 7.6, gcc 8.3.0, open-mpi 2.1.5, mkl 2019.3)
DOCKER_REPOSITORY: geosx/pangea2-gcc8.3.0-openmpi2.1.5-mkl2019.3
OS: ubuntu-22.04
CMAKE_BUILD_TYPE: Release
GCP_BUCKET: geosx/Pangea2
ENABLE_HYPRE: ON
ENABLE_TRILINOS: OFF

- name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10)
DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-openblas0.3.10-zlib1.2.11
OS: ubuntu-22.04
CMAKE_BUILD_TYPE: Release
HOST_CONFIG: host-configs/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10.cmake
GCP_BUCKET: geosx/Sherlock-CPU
Expand All @@ -160,6 +172,7 @@ jobs:

- name: Ubuntu (22.04, gcc 11.2.0, open-mpi 4.1.2)
DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11
OS: ubuntu-22.04
CMAKE_BUILD_TYPE: Release
GCP_BUCKET: geosx/ubuntu22.04-gcc11

Expand Down Expand Up @@ -216,3 +229,11 @@ jobs:
GEOSX_BUNDLE=${TMP_DIR}/${GEOSX_EXPORT_DIR}.tar.gz
tar czf ${GEOSX_BUNDLE} --directory=${TMP_DIR} ${GEOSX_EXPORT_DIR}
CLOUDSDK_PYTHON=python3 gsutil cp -a public-read ${GEOSX_BUNDLE} gs://${GCP_BUCKET}/
# Convenience job - passes when all other jobs have passed.
check_that_all_jobs_succeeded:
runs-on: ubuntu-22.04
needs: [check_pull_request_is_not_a_draft, check_pull_request_is_assigned, check_submodules, code_style, documentation, linux_builds]
steps:
- name: Success
run: "true"
12 changes: 6 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ vm:

env:
global:
- GEOSX_TPL_TAG=223-942
- GEOSX_TPL_TAG=224-965
- secure: CGs2uH6efq1Me6xJWRr0BnwtwxoujzlowC4FHXHdWbNOkPsXf7nCgdaW5vthfD3bhnOeEUQSrfxdhTRtyU/NfcKLmKgGBnZOdUG4/JJK4gDSJ2Wp8LZ/mB0QEoODKVxbh+YtoAiHe3y4M9PGCs+wkNDw/3eEU00cK12DZ6gad0RbLjI3xkhEr/ZEZDZkcYg9yHAhl5bmpqoh/6QGnIg8mxIqdAtGDw+6tT0EgUqjeqc5bG5WwsamKzJItHSXD5zx8IJAlgDk4EzEGjZe0m56YnNfb9iwqqUsmL3Cuwgs7ByVDYw78JC5Kv42YqoxA5BxMT2mFsEe37TpYNXlzofU7ma2Duw9DGXWQd4IkTCcBxlyR0I0bfo0TmgO+y7PYG9lIyHPUkENemdozsZcWamqqkqegiEdRhDVYlSRo3mu7iCwTS6ZTALliVyEYjYxYb7oAnR3cNywXjblTCI8oKfgLSY+8WijM9SRl57JruIHLkLMCjmRI+cZBfv5tS2tYQTBPkygGrigrrN77ZiC7/TGyfggSN0+y0oYtOAgqEnBcKcreiibMW7tKcV2Z1RFD9ZvIkSc1EXLUPDP8FX1oyhmqBMqVo8LksrYLDJHQ05+F3YNgl2taSt7uMjQ4e8iZ3/IjFeMnbylDw+cj/RbS520HXsFPbWFm2Pb9pceA9n6GnY=

# The integrated test repository contains large data (using git lfs) and we do not use them here.
Expand All @@ -31,7 +31,7 @@ __geosx_linux_build: &__geosx_linux_build
# Optional BUILD_AND_TEST_ARGS to pass arguments to travis_build_and_test.sh script.
#
# We extract the location of the GEOSX_TPL from the container...
- GEOSX_TPL_DIR=$(docker run --rm ${DOCKER_REPOSITORY}:${GEOSX_TPL_TAG} /bin/bash -c 'echo ${GEOSX_TPL_DIR}')
- GEOSX_TPL_DIR=$(docker run --rm ${DOCKER_REPOSITORY}:${GEOSX_TPL_TAG} /bin/bash -c 'echo ${GEOSX_TPL_DIR}' | tail -1 )
# ... so we can install GEOSX alongside. This is assumed for bundling the binaries, so consider modifying with care.
- GEOSX_DIR=${GEOSX_TPL_DIR}/../GEOSX-${TRAVIS_COMMIT:0:7}
# We need to know where the code folder is mounted inside the container so we can run the script at the proper location!
Expand Down Expand Up @@ -181,17 +181,17 @@ jobs:
- ENABLE_HYPRE_DEVICE=CUDA
- ENABLE_TRILINOS=OFF
- stage: builds
name: Centos (7.6, gcc 8.3.1, open-mpi 1.10.7, cuda 10.1.243)
name: Centos (7.7, gcc 8.3.1, open-mpi 1.10.7, cuda 11.8.0)
<<: *__geosx_linux_build
env:
- DOCKER_REPOSITORY=geosx/centos7.6.1810-gcc8.3.1-cuda10.1.243
- DOCKER_REPOSITORY=geosx/centos7.7-gcc8.3.1-cuda11.8.0
- CMAKE_BUILD_TYPE=Release
- BUILD_AND_TEST_ARGS="--disable-unit-tests --build-exe-only --disable-schema-deployment"
- stage: builds
name: Pecan GPU (centos 7.7, gcc 8.2.0, open-mpi 4.0.1, mkl 2019.5, cuda 10.2.89p2)
name: Pecan GPU (centos 7.7, gcc 8.2.0, open-mpi 4.0.1, mkl 2019.5, cuda 11.5.119)
<<: *__geosx_auto_deploy
env:
- DOCKER_REPOSITORY=geosx/pecan-gpu-gcc8.2.0-openmpi4.0.1-mkl2019.5-cuda10.2.89p2
- DOCKER_REPOSITORY=geosx/pecan-gpu-gcc8.2.0-openmpi4.0.1-mkl2019.5-cuda11.5.119
- CMAKE_BUILD_TYPE=Release
- BUILD_AND_TEST_ARGS="--disable-unit-tests --build-exe-only --disable-schema-deployment"
- HOST_CONFIG=host-configs/TOTAL/pecan-GPU.cmake
Expand Down
24 changes: 10 additions & 14 deletions host-configs/LLNL/lassen-base.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,19 @@ set(ENABLE_OPENMP ON CACHE BOOL "" FORCE)
# LvArray sets this to the CMAKE_CXX_COMPILER.
set(CMAKE_CUDA_HOST_COMPILER ${MPI_CXX_COMPILER} CACHE STRING "")

set(ENABLE_CUDA_NVTOOLSEXT OFF CACHE BOOL "")

# ESSL
set(ENABLE_ESSL ON CACHE BOOL "")
set(ESSL_INCLUDE_DIRS /usr/tcetmp/packages/essl/essl-6.2.1/include CACHE STRING "")
set(ESSL_LIBRARIES /usr/tcetmp/packages/essl/essl-6.2.1/lib64/libesslsmpcuda.so
/usr/tce/packages/xl/xl-beta-2019.06.20/alllibs/libxlsmp.so
/usr/tce/packages/xl/xl-beta-2019.06.20/alllibs/libxlfmath.so
/usr/tce/packages/xl/xl-beta-2019.06.20/alllibs/libxlf90_r.so
set(ENABLE_ESSL ON CACHE BOOL "" FORCE )
set(ESSL_INCLUDE_DIRS /usr/tcetmp/packages/essl/essl-6.3.0.2/include CACHE STRING "" FORCE )
set(ESSL_LIBRARIES /usr/tcetmp/packages/essl/essl-6.3.0.2/lib64/libesslsmpcuda.so
${CUDA_TOOLKIT_ROOT_DIR}/lib64/libcublas.so
${CUDA_TOOLKIT_ROOT_DIR}/lib64/libcublasLt.so
${CUDA_TOOLKIT_ROOT_DIR}/lib64/libcudart.so
/usr/tcetmp/packages/essl/essl-6.2.1/lib64/liblapackforessl.so
/usr/tcetmp/packages/essl/essl-6.2.1/lib64/liblapackforessl_.so
/usr/tce/packages/xl/xl-beta-2019.06.20/alllibs/libxl.a
CACHE PATH "")

/usr/tcetmp/packages/essl/essl-6.3.0.2/lib64/liblapackforessl.so
/usr/tcetmp/packages/essl/essl-6.3.0.2/lib64/liblapackforessl_.so
CACHE PATH "" FORCE )

# TPL
set(ENABLE_PAPI OFF CACHE BOOL "")
set(SILO_BUILD_TYPE powerpc64-unknown-linux-gnu CACHE STRING "")
Expand All @@ -50,8 +49,6 @@ set(ENABLE_FESAPI OFF CACHE BOOL "" FORCE)
set(ENABLE_PVTPackage ON CACHE BOOL "")
set(ENABLE_PETSC OFF CACHE BOOL "" FORCE )



set( ENABLE_HYPRE_DEVICE "CUDA" CACHE STRING "" FORCE )
if( ${ENABLE_HYPRE_DEVICE} STREQUAL "HIP" OR ${ENABLE_HYPRE_DEVICE} STREQUAL "CUDA" )
set(ENABLE_TRILINOS OFF CACHE BOOL "" FORCE )
Expand All @@ -60,7 +57,6 @@ else()
set(GEOSX_LA_INTERFACE "Trilinos" CACHE STRING "" FORCE )
endif()


# Documentation
set(ENABLE_UNCRUSTIFY OFF CACHE BOOL "" FORCE)
set(ENABLE_DOXYGEN OFF CACHE BOOL "" FORCE)
Expand Down
16 changes: 16 additions & 0 deletions host-configs/LLNL/lassen-clang-10-cuda-11.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/lassen-clang-10-cuda-11.cmake)

# Fortran
set(CMAKE_Fortran_COMPILER /usr/tce/packages/xl/xl-2022.08.19-cuda-11.8.0/bin/xlf_r CACHE PATH "")
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -qarch=pwr9 -qtune=pwr9" CACHE STRING "")
set(FORTRAN_MANGLE_NO_UNDERSCORE ON CACHE BOOL "")
set(OpenMP_Fortran_FLAGS "-qsmp=omp" CACHE STRING "")
set(OpenMP_Fortran_LIB_NAMES "" CACHE STRING "")

# MPI
set(MPI_HOME /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-clang-10.0.1-gcc-8.3.1 CACHE PATH "")
set(MPI_Fortran_COMPILER /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-xl-2022.08.19-cuda-11.8.0/bin/mpifort CACHE PATH "")

include(${CMAKE_CURRENT_LIST_DIR}/lassen-base.cmake)

set(ENABLE_CUDA_NVTOOLSEXT OFF CACHE BOOL "")
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/lassen-clang@upstream.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/lassen-clang-13-cuda-11.cmake)

# Fortran
set(CMAKE_Fortran_COMPILER /usr/tce/packages/xl/xl-2020.11.12/bin/xlf_r CACHE PATH "")
set(CMAKE_Fortran_COMPILER /usr/tce/packages/xl/xl-2022.08.19-cuda-11.8.0/bin/xlf_r CACHE PATH "")
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -qarch=pwr9 -qtune=pwr9" CACHE STRING "")
set(FORTRAN_MANGLE_NO_UNDERSCORE ON CACHE BOOL "")
set(OpenMP_Fortran_FLAGS "-qsmp=omp" CACHE STRING "")
set(OpenMP_Fortran_LIB_NAMES "" CACHE STRING "")

# MPI
set(MPI_HOME /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-clang-upstream-2019.03.26 CACHE PATH "")
set(MPI_Fortran_COMPILER /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-xl-2020.11.12/bin/mpifort CACHE PATH "")
set(MPI_HOME /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-clang-13.0.1-gcc-8.3.1 CACHE PATH "")
set(MPI_Fortran_COMPILER /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-xl-2022.08.19-cuda-11.8.0/bin/mpifort CACHE PATH "")

include(${CMAKE_CURRENT_LIST_DIR}/lassen-base.cmake)

# HYPRE options
set( ENABLE_HYPRE_DEVICE "CUDA" CACHE STRING "" )
set( ENABLE_HYPRE_MIXINT TRUE CACHE STRING "" )
set(ENABLE_CUDA_NVTOOLSEXT ON CACHE BOOL "")

# ATS
set(ATS_ARGUMENTS "--ats jsrun_omp --ats jsrun_bind=packed" CACHE PATH "")
30 changes: 0 additions & 30 deletions host-configs/LLNL/lassen-clang10-cuda11.cmake

This file was deleted.

30 changes: 0 additions & 30 deletions host-configs/LLNL/lassen-clang13-cuda11.cmake

This file was deleted.

21 changes: 0 additions & 21 deletions host-configs/LLNL/[email protected]

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/lassen-gcc@8.3.1.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/lassen-gcc-8-cuda-11.cmake)

# C++
# The "-march=native -mtune=native" which LvArray adds breaks the PVT package.
Expand Down
4 changes: 4 additions & 0 deletions host-configs/LLNL/quartz-base.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ set(SPHINX_EXECUTABLE /usr/gapps/GEOSX/thirdPartyLibs/python/quartz-gcc-python/p

set(ENABLE_FESAPI OFF CACHE BOOL "" FORCE)

# caliper
set(ENABLE_CALIPER ON CACHE BOOL "" FORCE)
set(ENABLE_CALIPER_HYPRE ON CACHE BOOL "" FORCE)

# MKL
set(ENABLE_MKL ON CACHE BOOL "")
set(MKL_ROOT /usr/tce/packages/mkl/mkl-2022.1.0)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/quartz-clang@14.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/quartz-clang-14.cmake)

# Fortran
set(CMAKE_Fortran_COMPILER /usr/tce/packages/gcc/gcc-12.1.1-magic/bin/gfortran CACHE PATH "")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/quartz-gcc@12.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/quartz-gcc-12.cmake)

# C++
# The "-march=native -mtune=native" which LvArray adds breaks the PVT package.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/quartz-icc@19.0.4.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/quartz-icc-19.cmake)

# Fortran
set(CMAKE_Fortran_COMPILER ${COMPILER_DIR}/bin/intel64/ifort CACHE PATH "")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/tioga-cce@15.0.0.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/LLNL/tioga-cce-15.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/tioga-base.cmake)

set( CONDUIT_DIR "${GEOSX_TPL_DIR}/conduit-0.8.7" CACHE PATH "" )
Expand Down
1 change: 0 additions & 1 deletion host-configs/Stanford/sherlock-base.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ set(ENABLE_WRAP_ALL_TESTS_WITH_MPIEXEC ON CACHE BOOL "")
if(ENABLE_CUDA)
set(CMAKE_CUDA_HOST_COMPILER ${MPI_CXX_COMPILER} CACHE STRING "")
set(CMAKE_CUDA_COMPILER ${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc CACHE STRING "")
set(CMAKE_CUDA_STANDARD 14 CACHE STRING "")
set(CMAKE_CUDA_FLAGS "-restrict -arch ${CUDA_ARCH} --expt-extended-lambda --expt-relaxed-constexpr -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 "")
Expand Down
Loading

0 comments on commit 6b5341b

Please sign in to comment.