diff --git a/.github/workflows/everything.yml b/.github/workflows/everything.yml index 7447ed908a..222082c4ab 100644 --- a/.github/workflows/everything.yml +++ b/.github/workflows/everything.yml @@ -91,13 +91,13 @@ jobs: # Build and test jobs ####################################### - linux: + linux_ubuntu: needs: [format, git_checks] if: needs.git_checks.outputs.num_code_changes > 0 - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 container: - image: ornladios/adios2:ci-spack-el8-${{ matrix.compiler }}-${{ matrix.parallel }} + image: ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-${{ matrix.compiler }} options: --shm-size=1g env: GH_YML_JOBNAME: ${{ matrix.os }}-${{ matrix.gpu_backend }}${{ matrix.compiler }}-${{ matrix.parallel }} @@ -109,22 +109,60 @@ jobs: strategy: fail-fast: false matrix: - os: [el8] - compiler: [gcc8, gcc9, gcc10, gcc11, icc, oneapi, nvhpc222] - parallel: [serial, mpi] + os: [ubuntu20.04] + compiler: [gcc8, gcc9, gcc10, gcc11, clang6, clang10] + parallel: [ompi] include: - - os: el8 - compiler: cuda - parallel: serial - constrains: build_only - - os: el8 - compiler: cuda - parallel: serial - gpu_backend: kokkos - constrains: build_only - - os: el8 + - os: ubuntu20.04 compiler: gcc10 parallel: mpich + - os: ubuntu20.04 + compiler: gcc8 + parallel: serial + - os: ubuntu20.04 + compiler: clang6 + parallel: serial + + steps: + - uses: actions/checkout@v3 + with: + path: gha + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + path: source + - name: Setup + run: gha/scripts/ci/gh-actions/linux-setup.sh + - name: Update + run: gha/scripts/ci/gh-actions/run.sh update + - name: Configure + run: gha/scripts/ci/gh-actions/run.sh configure + - name: Build + run: gha/scripts/ci/gh-actions/run.sh build + - name: Test + run: gha/scripts/ci/gh-actions/run.sh test + + linux_el8: + needs: [format, git_checks] + if: needs.git_checks.outputs.num_code_changes > 0 + + runs-on: ubuntu-latest + container: + image: ghcr.io/ornladios/adios2:ci-el8-${{ matrix.compiler }} + options: --shm-size=1g + env: + GH_YML_JOBNAME: ${{ matrix.os }}-${{ matrix.gpu_backend }}${{ matrix.compiler }}-${{ matrix.parallel }} + GH_YML_BASE_OS: Linux + GH_YML_MATRIX_OS: ${{ matrix.os }} + GH_YML_MATRIX_COMPILER: ${{ matrix.compiler }} + GH_YML_MATRIX_PARALLEL: ${{ matrix.parallel }} + + strategy: + fail-fast: false + matrix: + os: [el8] + compiler: [icc, oneapi] + parallel: [ompi] steps: - uses: actions/checkout@v3 @@ -143,7 +181,6 @@ jobs: - name: Build run: gha/scripts/ci/gh-actions/run.sh build - name: Test - if: ${{ matrix.constrains != 'build_only' }} run: gha/scripts/ci/gh-actions/run.sh test macos: @@ -207,7 +244,7 @@ jobs: fail-fast: false matrix: os: [win2019, win2022] - parallel: [serial, mpi] + parallel: [serial, ompi] include: - os: win2019 image: windows-2019 @@ -370,7 +407,7 @@ jobs: ####################################### build_and_test: - needs: [linux, macos, docker, contract] + needs: [linux_el8, linux_ubuntu, macos, docker, contract] runs-on: ubuntu-latest steps: - run: echo "All required jobs complete" diff --git a/.shellcheck_exclude_paths b/.shellcheck_exclude_paths index 81763742e8..43d3930073 100644 --- a/.shellcheck_exclude_paths +++ b/.shellcheck_exclude_paths @@ -8,18 +8,8 @@ scripts/ci/gh-actions/get-changed-files.sh scripts/ci/gh-actions/linux-setup.sh scripts/ci/gh-actions/macos-setup.sh scripts/ci/gh-actions/run.sh -scripts/ci/images-v2/build-base.sh -scripts/ci/images-v2/build-clang-base.sh -scripts/ci/images-v2/build-clang.sh -scripts/ci/images-v2/build-cuda.sh -scripts/ci/images-v2/build-functions.sh -scripts/ci/images-v2/build-gcc-base.sh -scripts/ci/images-v2/build-gcc.sh -scripts/ci/images-v2/build-intel-base.sh -scripts/ci/images-v2/build-intel.sh -scripts/ci/images-v2/build-mpich.sh -scripts/ci/images-v2/build-nvhpc.sh -scripts/ci/images-v2/build.sh +scripts/ci/images-v2/build-el8.sh +scripts/ci/images-v2/build-ubuntu.sh scripts/ci/images/build-native-images.sh scripts/ci/images/emu-el7/entrypoint.sh scripts/ci/images/emu-el7/qemu-binfmt-conf.sh @@ -27,13 +17,6 @@ scripts/ci/images/emu-el7/register.sh scripts/ci/scripts/github-prs-to-gitlab.sh scripts/ci/scripts/run-clang-format.sh scripts/ci/scripts/run-flake8.sh -scripts/ci/setup-run/ci-el8-gcc10.sh -scripts/ci/setup-run/ci-el8-gcc11.sh -scripts/ci/setup-run/ci-el8-gcc9.sh -scripts/ci/setup-run/ci-el8-icc.sh -scripts/ci/setup-run/ci-el8-nvhpc222-mpi.sh -scripts/ci/setup-run/ci-el8-nvhpc222.sh -scripts/ci/setup-run/ci-el8-oneapi.sh scripts/dashboard/nightly/aaargh.sh scripts/dashboard/nightly/cori.sh scripts/dashboard/nightly/summitdev.sh diff --git a/scripts/ci/cmake-v2/ci-el8-gcc8-serial.cmake b/scripts/ci/cmake-v2/ci-el8-gcc8-serial.cmake deleted file mode 100644 index 78b7ef0698..0000000000 --- a/scripts/ci/cmake-v2/ci-el8-gcc8-serial.cmake +++ /dev/null @@ -1,27 +0,0 @@ -# Client maintainer: chuck.atkins@kitware.com - -set(ENV{CC} gcc) -set(ENV{CXX} g++) -set(ENV{FC} gfortran) - -set(dashboard_cache " -ADIOS2_USE_BZip2:BOOL=ON -ADIOS2_USE_Blosc:BOOL=ON -ADIOS2_USE_DataMan:BOOL=ON -ADIOS2_USE_Fortran:BOOL=ON -ADIOS2_USE_HDF5:BOOL=ON -ADIOS2_USE_MPI:BOOL=OFF -ADIOS2_USE_Python:BOOL=ON -ADIOS2_USE_SZ:BOOL=ON -ADIOS2_USE_ZeroMQ:STRING=ON -ADIOS2_USE_ZFP:BOOL=ON - -CMAKE_C_FLAGS:STRING=-Wall -CMAKE_CXX_FLAGS:STRING=-Wall -CMAKE_Fortran_FLAGS:STRING=-Wall -") - -set(CTEST_TEST_ARGS PARALLEL_LEVEL 1) -set(CTEST_CMAKE_GENERATOR "Unix Makefiles") -list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") -include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-el8-icc-mpi.cmake b/scripts/ci/cmake-v2/ci-el8-icc-ompi.cmake similarity index 74% rename from scripts/ci/cmake-v2/ci-el8-icc-mpi.cmake rename to scripts/ci/cmake-v2/ci-el8-icc-ompi.cmake index 07eb6b0778..8780804c15 100644 --- a/scripts/ci/cmake-v2/ci-el8-icc-mpi.cmake +++ b/scripts/ci/cmake-v2/ci-el8-icc-ompi.cmake @@ -1,5 +1,3 @@ -# Client maintainer: chuck.atkins@kitware.com - include(ProcessorCount) ProcessorCount(NCPUS) math(EXPR N2CPUS "${NCPUS}*2") @@ -12,7 +10,8 @@ set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON ADIOS2_USE_DataMan:BOOL=ON -ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_DataSpaces:BOOL=OFF +ADIOS2_USE_Fortran:BOOL=OFF ADIOS2_USE_HDF5:BOOL=ON ADIOS2_USE_MPI:BOOL=ON ADIOS2_USE_Python:BOOL=ON @@ -20,15 +19,15 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON -CMAKE_C_FLAGS:STRING=-Wall -CMAKE_CXX_FLAGS:STRING=-Wall -CMAKE_Fortran_FLAGS:STRING=-warn all -stand none +CMAKE_C_FLAGS:STRING=-Wall -diag-disable=10441 +CMAKE_C_FLAGS_DEBUG:STRING=-g -O0 +CMAKE_CXX_FLAGS:STRING=-Wall -diag-disable=10441 +CMAKE_CXX_FLAGS_DEBUG:STRING=-g -O0 MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} ") -set(CTEST_TEST_ARGS PARALLEL_LEVEL 1) set(CTEST_CMAKE_GENERATOR "Unix Makefiles") list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-el8-icc-serial.cmake b/scripts/ci/cmake-v2/ci-el8-icc-serial.cmake index 84ba5d999e..3aa93d3da6 100644 --- a/scripts/ci/cmake-v2/ci-el8-icc-serial.cmake +++ b/scripts/ci/cmake-v2/ci-el8-icc-serial.cmake @@ -1,14 +1,13 @@ -# Client maintainer: chuck.atkins@kitware.com - set(ENV{CC} icc) set(ENV{CXX} icpc) set(ENV{FC} ifort) set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON -ADIOS2_USE_Blosc:BOOL=ON +ADIOS2_USE_Blosc:BOOL=OFF ADIOS2_USE_DataMan:BOOL=ON -ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_DataSpaces:BOOL=OFF +ADIOS2_USE_Fortran:BOOL=OFF ADIOS2_USE_HDF5:BOOL=ON ADIOS2_USE_MPI:BOOL=OFF ADIOS2_USE_Python:BOOL=ON @@ -16,12 +15,12 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON -CMAKE_C_FLAGS:STRING=-Wall -CMAKE_CXX_FLAGS:STRING=-Wall -CMAKE_Fortran_FLAGS:STRING=-warn all -stand none +CMAKE_C_FLAGS:STRING=-Wall -diag-disable=10441 +CMAKE_C_FLAGS_DEBUG:STRING=-g -O0 +CMAKE_CXX_FLAGS:STRING=-Wall -diag-disable=10441 +CMAKE_CXX_FLAGS_DEBUG:STRING=-g -O0 ") -set(CTEST_TEST_ARGS PARALLEL_LEVEL 1) set(CTEST_CMAKE_GENERATOR "Unix Makefiles") list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-el8-kokkoscuda-serial.cmake b/scripts/ci/cmake-v2/ci-el8-kokkoscuda-serial.cmake deleted file mode 100644 index d80a0c72bb..0000000000 --- a/scripts/ci/cmake-v2/ci-el8-kokkoscuda-serial.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# Client maintainer: vicente.bolea@kitware.com - -set(ENV{CC} gcc) -set(ENV{CXX} g++) -set(ENV{FC} gfortran) - -set(dashboard_cache " -ADIOS2_USE_BZip2:BOOL=ON -ADIOS2_USE_Blosc:BOOL=ON -ADIOS2_USE_DataMan:BOOL=ON -ADIOS2_USE_Fortran:BOOL=ON -ADIOS2_USE_HDF5:BOOL=ON -ADIOS2_USE_Python:BOOL=ON -ADIOS2_USE_SZ:BOOL=ON -ADIOS2_USE_ZeroMQ:STRING=ON -ADIOS2_USE_ZFP:BOOL=ON -ADIOS2_USE_Kokkos:BOOL=ON -ADIOS2_USE_MPI:BOOL=OFF -CMAKE_C_FLAGS:STRING=-Wall -CMAKE_CXX_FLAGS:STRING=-Wall -CMAKE_Fortran_FLAGS:STRING=-Wall -") - -set(CTEST_CMAKE_GENERATOR "Ninja") -list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") -include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-el8-nvhpc222-mpi.cmake b/scripts/ci/cmake-v2/ci-el8-nvhpc222-mpi.cmake deleted file mode 100644 index 3edb330aed..0000000000 --- a/scripts/ci/cmake-v2/ci-el8-nvhpc222-mpi.cmake +++ /dev/null @@ -1,35 +0,0 @@ -# Client maintainer: chuck.atkins@kitware.com - -include(ProcessorCount) -ProcessorCount(NCPUS) -math(EXPR N2CPUS "${NCPUS}*2") - -set(ENV{CC} nvc) -set(ENV{CXX} nvc++) -set(ENV{FC} nvfortran) - -set(dashboard_cache " -ADIOS2_USE_BZip2:BOOL=ON -ADIOS2_USE_Blosc:BOOL=ON -ADIOS2_USE_CUDA:BOOL=OFF -ADIOS2_USE_DataMan:BOOL=ON -ADIOS2_USE_Fortran:BOOL=ON -ADIOS2_USE_HDF5:BOOL=ON -ADIOS2_USE_MPI:BOOL=ON -ADIOS2_USE_Python:BOOL=OFF -ADIOS2_USE_SZ:BOOL=ON -ADIOS2_USE_ZeroMQ:STRING=ON -ADIOS2_USE_ZFP:BOOL=ON - -#CMAKE_C_FLAGS:STRING=-Werror -CMAKE_CXX_FLAGS:STRING=--brief_diagnostics -#CMAKE_Fortran_FLAGS:STRING=-warn errors - -MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe -MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} -") - -set(CTEST_TEST_ARGS PARALLEL_LEVEL 1) -set(CTEST_CMAKE_GENERATOR "Unix Makefiles") -list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") -include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-el8-nvhpc222-serial.cmake b/scripts/ci/cmake-v2/ci-el8-nvhpc222-serial.cmake deleted file mode 100644 index 3e7f97f5a8..0000000000 --- a/scripts/ci/cmake-v2/ci-el8-nvhpc222-serial.cmake +++ /dev/null @@ -1,28 +0,0 @@ -# Client maintainer: chuck.atkins@kitware.com - -set(ENV{CC} nvc) -set(ENV{CXX} nvc++) -set(ENV{FC} nvfortran) - -set(dashboard_cache " -ADIOS2_USE_BZip2:BOOL=ON -ADIOS2_USE_Blosc:BOOL=ON -ADIOS2_USE_CUDA:BOOL=OFF -ADIOS2_USE_DataMan:BOOL=ON -ADIOS2_USE_Fortran:BOOL=ON -ADIOS2_USE_HDF5:BOOL=ON -ADIOS2_USE_MPI:BOOL=OFF -ADIOS2_USE_Python:BOOL=OFF -ADIOS2_USE_SZ:BOOL=ON -ADIOS2_USE_ZeroMQ:STRING=ON -ADIOS2_USE_ZFP:BOOL=ON - -#CMAKE_C_FLAGS:STRING=-Werror -CMAKE_CXX_FLAGS:STRING=--brief_diagnostics -#CMAKE_Fortran_FLAGS:STRING=-warn errors -") - -set(CTEST_TEST_ARGS PARALLEL_LEVEL 1) -set(CTEST_CMAKE_GENERATOR "Unix Makefiles") -list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") -include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-el8-oneapi-mpi.cmake b/scripts/ci/cmake-v2/ci-el8-oneapi-ompi.cmake similarity index 79% rename from scripts/ci/cmake-v2/ci-el8-oneapi-mpi.cmake rename to scripts/ci/cmake-v2/ci-el8-oneapi-ompi.cmake index 72ee3c7284..ee8163d468 100644 --- a/scripts/ci/cmake-v2/ci-el8-oneapi-mpi.cmake +++ b/scripts/ci/cmake-v2/ci-el8-oneapi-ompi.cmake @@ -1,5 +1,3 @@ -# Client maintainer: chuck.atkins@kitware.com - include(ProcessorCount) ProcessorCount(NCPUS) math(EXPR N2CPUS "${NCPUS}*2") @@ -10,9 +8,10 @@ set(ENV{FC} ifort) # oneapi fortran compiler currently has issues set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON -ADIOS2_USE_Blosc:BOOL=ON +ADIOS2_USE_Blosc:BOOL=OFF ADIOS2_USE_DataMan:BOOL=ON -ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_DataSpaces:BOOL=OFF +ADIOS2_USE_Fortran:BOOL=OFF ADIOS2_USE_HDF5:BOOL=ON ADIOS2_USE_MPI:BOOL=ON ADIOS2_USE_Python:BOOL=ON @@ -21,14 +20,15 @@ ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON CMAKE_C_FLAGS:STRING=-Wall +CMAKE_C_FLAGS_DEBUG:STRING=-g -O0 CMAKE_CXX_FLAGS:STRING=-Wall -CMAKE_Fortran_FLAGS:STRING=-warn all +CMAKE_CXX_FLAGS_DEBUG:STRING=-g -O0 +CMAKE_Fortran_FLAGS:STRING=-W1 MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} ") -set(CTEST_TEST_ARGS PARALLEL_LEVEL 1) set(CTEST_CMAKE_GENERATOR "Unix Makefiles") list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-el8-oneapi-serial.cmake b/scripts/ci/cmake-v2/ci-el8-oneapi-serial.cmake index 17f5e90b18..0171b05df4 100644 --- a/scripts/ci/cmake-v2/ci-el8-oneapi-serial.cmake +++ b/scripts/ci/cmake-v2/ci-el8-oneapi-serial.cmake @@ -1,14 +1,13 @@ -# Client maintainer: chuck.atkins@kitware.com - set(ENV{CC} icx) set(ENV{CXX} icpx) set(ENV{FC} ifort) # oneapi fortran compiler currently has issues set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON -ADIOS2_USE_Blosc:BOOL=ON +ADIOS2_USE_Blosc:BOOL=OFF ADIOS2_USE_DataMan:BOOL=ON -ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_DataSpaces:BOOL=OFF +ADIOS2_USE_Fortran:BOOL=OFF ADIOS2_USE_HDF5:BOOL=ON ADIOS2_USE_MPI:BOOL=OFF ADIOS2_USE_Python:BOOL=ON @@ -17,11 +16,12 @@ ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON CMAKE_C_FLAGS:STRING=-Wall +CMAKE_C_FLAGS_DEBUG:STRING=-g -O0 CMAKE_CXX_FLAGS:STRING=-Wall -CMAKE_Fortran_FLAGS:STRING=-warn all +CMAKE_CXX_FLAGS_DEBUG:STRING=-g -O0 +CMAKE_Fortran_FLAGS:STRING=-W1 ") -set(CTEST_TEST_ARGS PARALLEL_LEVEL 1) set(CTEST_CMAKE_GENERATOR "Unix Makefiles") list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-ubuntu20.04-clang10-ompi.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-clang10-ompi.cmake new file mode 100644 index 0000000000..7ebb831301 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-clang10-ompi.cmake @@ -0,0 +1,40 @@ +include(ProcessorCount) +ProcessorCount(NCPUS) +math(EXPR N2CPUS "${NCPUS}*2") + +set(ENV{CC} clang-10) +set(ENV{CXX} clang++-10) +set(ENV{FC} gfortran-11) + +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + +set(dashboard_cache " +ADIOS2_USE_BZip2:BOOL=ON +ADIOS2_USE_Blosc:BOOL=ON +ADIOS2_USE_DataMan:BOOL=ON +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_HDF5:BOOL=ON +ADIOS2_USE_MPI:BOOL=ON +ADIOS2_USE_Python:BOOL=ON +ADIOS2_USE_SZ:BOOL=ON +ADIOS2_USE_ZeroMQ:STRING=ON +ADIOS2_USE_ZFP:BOOL=ON + +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-Wall + +MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe +MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} +") + +set(CTEST_CMAKE_GENERATOR "Ninja") +list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") +include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-ubuntu20.04-clang10-serial.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-clang10-serial.cmake new file mode 100644 index 0000000000..96d0c1fe3e --- /dev/null +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-clang10-serial.cmake @@ -0,0 +1,33 @@ +set(ENV{CC} clang-10) +set(ENV{CXX} clang++-10) +set(ENV{FC} gfortran-11) + +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + +set(dashboard_cache " +ADIOS2_USE_BZip2:BOOL=ON +ADIOS2_USE_Blosc:BOOL=ON +ADIOS2_USE_DataMan:BOOL=ON +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_HDF5:BOOL=ON +ADIOS2_USE_MPI:BOOL=OFF +ADIOS2_USE_Python:BOOL=ON +ADIOS2_USE_SZ:BOOL=ON +ADIOS2_USE_ZeroMQ:STRING=ON +ADIOS2_USE_ZFP:BOOL=ON + +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-Wall +") + +set(CTEST_CMAKE_GENERATOR "Ninja") +list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") +include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-ubuntu20.04-clang6-ompi.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-clang6-ompi.cmake new file mode 100644 index 0000000000..00c3577544 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-clang6-ompi.cmake @@ -0,0 +1,40 @@ +include(ProcessorCount) +ProcessorCount(NCPUS) +math(EXPR N2CPUS "${NCPUS}*2") + +set(ENV{CC} clang-6.0) +set(ENV{CXX} clang++-6.0) +set(ENV{FC} gfortran-11) + +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + +set(dashboard_cache " +ADIOS2_USE_BZip2:BOOL=ON +ADIOS2_USE_Blosc:BOOL=ON +ADIOS2_USE_DataMan:BOOL=ON +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_HDF5:BOOL=ON +ADIOS2_USE_MPI:BOOL=ON +ADIOS2_USE_Python:BOOL=ON +ADIOS2_USE_SZ:BOOL=ON +ADIOS2_USE_ZeroMQ:STRING=ON +ADIOS2_USE_ZFP:BOOL=ON + +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-Wall + +MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe +MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} +") + +set(CTEST_CMAKE_GENERATOR "Ninja") +list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") +include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-ubuntu20.04-clang6-serial.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-clang6-serial.cmake new file mode 100644 index 0000000000..0357b98fc5 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-clang6-serial.cmake @@ -0,0 +1,33 @@ +set(ENV{CC} clang-6.0) +set(ENV{CXX} clang++-6.0) +set(ENV{FC} gfortran-11) + +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + +set(dashboard_cache " +ADIOS2_USE_BZip2:BOOL=ON +ADIOS2_USE_Blosc:BOOL=ON +ADIOS2_USE_DataMan:BOOL=ON +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_HDF5:BOOL=ON +ADIOS2_USE_MPI:BOOL=OFF +ADIOS2_USE_Python:BOOL=ON +ADIOS2_USE_SZ:BOOL=ON +ADIOS2_USE_ZeroMQ:STRING=ON +ADIOS2_USE_ZFP:BOOL=ON + +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-Wall +") + +set(CTEST_CMAKE_GENERATOR "Ninja") +list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") +include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-el8-gcc10-mpich.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc10-mpich.cmake similarity index 75% rename from scripts/ci/cmake-v2/ci-el8-gcc10-mpich.cmake rename to scripts/ci/cmake-v2/ci-ubuntu20.04-gcc10-mpich.cmake index 5ce2313669..3e147d94ef 100644 --- a/scripts/ci/cmake-v2/ci-el8-gcc10-mpich.cmake +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc10-mpich.cmake @@ -1,5 +1,3 @@ -# Client maintainer: chuck.atkins@kitware.com - include(ProcessorCount) ProcessorCount(NCPUS) math(EXPR N2CPUS "${NCPUS}*2") @@ -8,6 +6,11 @@ set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON @@ -20,6 +23,10 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + CMAKE_C_FLAGS:STRING=-Wall CMAKE_CXX_FLAGS:STRING=-Wall CMAKE_Fortran_FLAGS:STRING=-Wall diff --git a/scripts/ci/cmake-v2/ci-el8-gcc11-mpi.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc10-ompi.cmake similarity index 77% rename from scripts/ci/cmake-v2/ci-el8-gcc11-mpi.cmake rename to scripts/ci/cmake-v2/ci-ubuntu20.04-gcc10-ompi.cmake index 37965ff7c3..8bc947c2d8 100644 --- a/scripts/ci/cmake-v2/ci-el8-gcc11-mpi.cmake +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc10-ompi.cmake @@ -1,5 +1,3 @@ -# Client maintainer: chuck.atkins@kitware.com - include(ProcessorCount) ProcessorCount(NCPUS) math(EXPR N2CPUS "${NCPUS}*2") @@ -8,6 +6,11 @@ set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON @@ -20,6 +23,10 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + CMAKE_C_FLAGS:STRING=-Wall CMAKE_CXX_FLAGS:STRING=-Wall CMAKE_Fortran_FLAGS:STRING=-Wall diff --git a/scripts/ci/cmake-v2/ci-el8-gcc11-serial.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc10-serial.cmake similarity index 72% rename from scripts/ci/cmake-v2/ci-el8-gcc11-serial.cmake rename to scripts/ci/cmake-v2/ci-ubuntu20.04-gcc10-serial.cmake index b25289765d..4801f3f4d9 100644 --- a/scripts/ci/cmake-v2/ci-el8-gcc11-serial.cmake +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc10-serial.cmake @@ -1,9 +1,12 @@ -# Client maintainer: chuck.atkins@kitware.com - set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON @@ -16,6 +19,10 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + CMAKE_C_FLAGS:STRING=-Wall CMAKE_CXX_FLAGS:STRING=-Wall CMAKE_Fortran_FLAGS:STRING=-Wall diff --git a/scripts/ci/cmake-v2/ci-el8-gcc10-mpi.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc11-ompi.cmake similarity index 77% rename from scripts/ci/cmake-v2/ci-el8-gcc10-mpi.cmake rename to scripts/ci/cmake-v2/ci-ubuntu20.04-gcc11-ompi.cmake index 37965ff7c3..8bc947c2d8 100644 --- a/scripts/ci/cmake-v2/ci-el8-gcc10-mpi.cmake +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc11-ompi.cmake @@ -1,5 +1,3 @@ -# Client maintainer: chuck.atkins@kitware.com - include(ProcessorCount) ProcessorCount(NCPUS) math(EXPR N2CPUS "${NCPUS}*2") @@ -8,6 +6,11 @@ set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON @@ -20,6 +23,10 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + CMAKE_C_FLAGS:STRING=-Wall CMAKE_CXX_FLAGS:STRING=-Wall CMAKE_Fortran_FLAGS:STRING=-Wall diff --git a/scripts/ci/cmake-v2/ci-el8-gcc9-serial.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc11-serial.cmake similarity index 72% rename from scripts/ci/cmake-v2/ci-el8-gcc9-serial.cmake rename to scripts/ci/cmake-v2/ci-ubuntu20.04-gcc11-serial.cmake index b25289765d..4801f3f4d9 100644 --- a/scripts/ci/cmake-v2/ci-el8-gcc9-serial.cmake +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc11-serial.cmake @@ -1,9 +1,12 @@ -# Client maintainer: chuck.atkins@kitware.com - set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON @@ -16,6 +19,10 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + CMAKE_C_FLAGS:STRING=-Wall CMAKE_CXX_FLAGS:STRING=-Wall CMAKE_Fortran_FLAGS:STRING=-Wall diff --git a/scripts/ci/cmake-v2/ci-el8-gcc9-mpi.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc8-ompi.cmake similarity index 77% rename from scripts/ci/cmake-v2/ci-el8-gcc9-mpi.cmake rename to scripts/ci/cmake-v2/ci-ubuntu20.04-gcc8-ompi.cmake index 37965ff7c3..8bc947c2d8 100644 --- a/scripts/ci/cmake-v2/ci-el8-gcc9-mpi.cmake +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc8-ompi.cmake @@ -1,5 +1,3 @@ -# Client maintainer: chuck.atkins@kitware.com - include(ProcessorCount) ProcessorCount(NCPUS) math(EXPR N2CPUS "${NCPUS}*2") @@ -8,6 +6,11 @@ set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON @@ -20,6 +23,10 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + CMAKE_C_FLAGS:STRING=-Wall CMAKE_CXX_FLAGS:STRING=-Wall CMAKE_Fortran_FLAGS:STRING=-Wall diff --git a/scripts/ci/cmake-v2/ci-el8-gcc10-serial.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc8-serial.cmake similarity index 72% rename from scripts/ci/cmake-v2/ci-el8-gcc10-serial.cmake rename to scripts/ci/cmake-v2/ci-ubuntu20.04-gcc8-serial.cmake index b25289765d..4801f3f4d9 100644 --- a/scripts/ci/cmake-v2/ci-el8-gcc10-serial.cmake +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc8-serial.cmake @@ -1,9 +1,12 @@ -# Client maintainer: chuck.atkins@kitware.com - set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON @@ -16,6 +19,10 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + CMAKE_C_FLAGS:STRING=-Wall CMAKE_CXX_FLAGS:STRING=-Wall CMAKE_Fortran_FLAGS:STRING=-Wall diff --git a/scripts/ci/cmake-v2/ci-el8-gcc8-mpi.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc9-ompi.cmake similarity index 73% rename from scripts/ci/cmake-v2/ci-el8-gcc8-mpi.cmake rename to scripts/ci/cmake-v2/ci-ubuntu20.04-gcc9-ompi.cmake index 4bc8c1b644..8bc947c2d8 100644 --- a/scripts/ci/cmake-v2/ci-el8-gcc8-mpi.cmake +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc9-ompi.cmake @@ -1,5 +1,3 @@ -# Client maintainer: chuck.atkins@kitware.com - include(ProcessorCount) ProcessorCount(NCPUS) math(EXPR N2CPUS "${NCPUS}*2") @@ -8,6 +6,11 @@ set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON @@ -20,6 +23,10 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + CMAKE_C_FLAGS:STRING=-Wall CMAKE_CXX_FLAGS:STRING=-Wall CMAKE_Fortran_FLAGS:STRING=-Wall @@ -28,7 +35,6 @@ MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} ") -set(CTEST_TEST_ARGS PARALLEL_LEVEL 1) -set(CTEST_CMAKE_GENERATOR "Unix Makefiles") +set(CTEST_CMAKE_GENERATOR "Ninja") list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-el8-cuda-serial.cmake b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc9-serial.cmake similarity index 72% rename from scripts/ci/cmake-v2/ci-el8-cuda-serial.cmake rename to scripts/ci/cmake-v2/ci-ubuntu20.04-gcc9-serial.cmake index eca07809fe..4801f3f4d9 100644 --- a/scripts/ci/cmake-v2/ci-el8-cuda-serial.cmake +++ b/scripts/ci/cmake-v2/ci-ubuntu20.04-gcc9-serial.cmake @@ -1,21 +1,28 @@ -# Client maintainer: vicente.bolea@kitware.com - set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) +execute_process( + COMMAND "python3-config" "--prefix" + OUTPUT_VARIABLE PY_ROOT + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON ADIOS2_USE_DataMan:BOOL=ON ADIOS2_USE_Fortran:BOOL=ON ADIOS2_USE_HDF5:BOOL=ON +ADIOS2_USE_MPI:BOOL=OFF ADIOS2_USE_Python:BOOL=ON ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON -ADIOS2_USE_CUDA:BOOL=ON -ADIOS2_USE_MPI:BOOL=OFF + +Python_ROOT_DIR:PATH=${PY_ROOT} +Python_FIND_STRATEGY:STRING=LOCATION +Python_FIND_FRAMEWORK:STRING=FIRST + CMAKE_C_FLAGS:STRING=-Wall CMAKE_CXX_FLAGS:STRING=-Wall CMAKE_Fortran_FLAGS:STRING=-Wall diff --git a/scripts/ci/cmake-v2/ci-win2019-vs2019-mpi.cmake b/scripts/ci/cmake-v2/ci-win2019-vs2019-ompi.cmake similarity index 88% rename from scripts/ci/cmake-v2/ci-win2019-vs2019-mpi.cmake rename to scripts/ci/cmake-v2/ci-win2019-vs2019-ompi.cmake index 6f9eb05afc..42ee581bc7 100644 --- a/scripts/ci/cmake-v2/ci-win2019-vs2019-mpi.cmake +++ b/scripts/ci/cmake-v2/ci-win2019-vs2019-ompi.cmake @@ -1,5 +1,3 @@ -# Client maintainer: chuck.atkins@kitware.com - set(ENV{CC} cl) set(ENV{CXX} cl) set(ENV{CFLAGS} /WX) diff --git a/scripts/ci/cmake-v2/ci-win2019-vs2019-serial.cmake b/scripts/ci/cmake-v2/ci-win2019-vs2019-serial.cmake index 641bcc7f4d..71288aaec5 100644 --- a/scripts/ci/cmake-v2/ci-win2019-vs2019-serial.cmake +++ b/scripts/ci/cmake-v2/ci-win2019-vs2019-serial.cmake @@ -1,5 +1,3 @@ -# Client maintainer: chuck.atkins@kitware.com - set(ENV{CC} cl) set(ENV{CXX} cl) set(ENV{CFLAGS} /WX) diff --git a/scripts/ci/cmake-v2/ci-win2022-vs2022-mpi.cmake b/scripts/ci/cmake-v2/ci-win2022-vs2022-ompi.cmake similarity index 88% rename from scripts/ci/cmake-v2/ci-win2022-vs2022-mpi.cmake rename to scripts/ci/cmake-v2/ci-win2022-vs2022-ompi.cmake index 50b8b8d43b..74626dfecd 100644 --- a/scripts/ci/cmake-v2/ci-win2022-vs2022-mpi.cmake +++ b/scripts/ci/cmake-v2/ci-win2022-vs2022-ompi.cmake @@ -1,5 +1,3 @@ -# Client maintainer: chuck.atkins@kitware.com - set(ENV{CC} cl) set(ENV{CXX} cl) set(ENV{CFLAGS} /WX) diff --git a/scripts/ci/cmake-v2/ci-win2022-vs2022-serial.cmake b/scripts/ci/cmake-v2/ci-win2022-vs2022-serial.cmake index be9d99277b..291be6ec45 100644 --- a/scripts/ci/cmake-v2/ci-win2022-vs2022-serial.cmake +++ b/scripts/ci/cmake-v2/ci-win2022-vs2022-serial.cmake @@ -1,5 +1,3 @@ -# Client maintainer: chuck.atkins@kitware.com - set(ENV{CC} cl) set(ENV{CXX} cl) set(ENV{CFLAGS} /WX) diff --git a/scripts/ci/gh-actions/macos-setup.sh b/scripts/ci/gh-actions/macos-setup.sh index f0235ee191..7b2bf39543 100755 --- a/scripts/ci/gh-actions/macos-setup.sh +++ b/scripts/ci/gh-actions/macos-setup.sh @@ -44,7 +44,7 @@ brew install c-blosc echo "Installing python3" brew install python numpy -if [[ "$GH_YML_JOBNAME" =~ -mpi ]] +if [[ "$GH_YML_JOBNAME" =~ -ompi ]] then echo "Installing OpenMPI" brew install openmpi mpi4py diff --git a/scripts/ci/gh-actions/run.sh b/scripts/ci/gh-actions/run.sh index 512a62eda5..9847d5bfec 100755 --- a/scripts/ci/gh-actions/run.sh +++ b/scripts/ci/gh-actions/run.sh @@ -69,7 +69,7 @@ export TMPDIR="${RUNNER_TEMP}/tmp" mkdir -p "${TMPDIR}" # OpenMPI specific setup and workarounds -if [[ "${GH_YML_MATRIX_PARALLEL}" =~ mpi && "${GH_YML_BASE_OS}" != "Windows" ]] +if [[ "${GH_YML_MATRIX_PARALLEL}" =~ ompi && "${GH_YML_BASE_OS}" != "Windows" ]] then # Quiet some warnings from OpenMPI export OMPI_MCA_btl_base_warn_component_unused=0 diff --git a/scripts/ci/gh-actions/windows-setup.ps1 b/scripts/ci/gh-actions/windows-setup.ps1 index 18b9248e58..4334327a2b 100644 --- a/scripts/ci/gh-actions/windows-setup.ps1 +++ b/scripts/ci/gh-actions/windows-setup.ps1 @@ -8,7 +8,7 @@ Write-Host "::group::Installing NumPy" pip install "numpy>=1.19" Write-Host "::endgroup::" -if($Env:GH_YML_MATRIX_PARALLEL -eq "mpi") +if($Env:GH_YML_MATRIX_PARALLEL -eq "ompi") { # This is taken from the MSMPI VCPKG $baseurl = "https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623" diff --git a/scripts/ci/images-v2/0001-spack-rhel-fix.patch b/scripts/ci/images-v2/0001-spack-rhel-fix.patch deleted file mode 100644 index 606583143b..0000000000 --- a/scripts/ci/images-v2/0001-spack-rhel-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- lib/spack/spack/solver/concretize.lp -+++ lib/spack/spack/solver/concretize.lp -@@ -718,6 +718,9 @@ - % catalina binaries can be used on bigsur. Direction is package -> dependency. - os_compatible("bigsur", "catalina"). - -+os_compatible("rocky8", "centos8"). -+os_compatible("centos8", "rocky8"). -+ - % If an OS is set explicitly respect the value - node_os(Package, OS) :- node_os_set(Package, OS), node(Package). diff --git a/scripts/ci/images-v2/0002-spack-libcatalyst-git.patch b/scripts/ci/images-v2/0002-spack-libcatalyst-git.patch deleted file mode 100644 index d3b5486a9d..0000000000 --- a/scripts/ci/images-v2/0002-spack-libcatalyst-git.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 617c2907f9744bbb04e1eb1d750318a24e0cd2b2 Mon Sep 17 00:00:00 2001 -From: Vicente Adolfo Bolea Sanchez -Date: Tue, 13 Sep 2022 17:20:58 -0400 -Subject: [PATCH] libcatalyst: use git instead of fixed urls - ---- - var/spack/repos/builtin/packages/libcatalyst/package.py | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -diff --git a/var/spack/repos/builtin/packages/libcatalyst/package.py b/var/spack/repos/builtin/packages/libcatalyst/package.py -index 808d3541f96b..4abf82d3ea44 100644 ---- a/var/spack/repos/builtin/packages/libcatalyst/package.py -+++ b/var/spack/repos/builtin/packages/libcatalyst/package.py -@@ -11,7 +11,7 @@ class Libcatalyst(CMakePackage): - scientific data producers) to analyze and visualize data in situ.""" - - homepage = 'https://gitlab.kitware.com/paraview/catalyst' -- url = "https://gitlab.kitware.com/paraview/catalyst/-/archive/{0}/catalyst-{0}.tar.bz2" -+ git = "https://gitlab.kitware.com/paraview/catalyst.git" - - maintainers = ['mathstuf'] - -@@ -26,10 +26,6 @@ class Libcatalyst(CMakePackage): - # TODO: catalyst doesn't support an external conduit - # depends_on('conduit') - -- def url_for_version(self, version): -- _urlfmt = self.url -- return _urlfmt.format(version) -- - def cmake_args(self): - """Populate cmake arguments for libcatalyst.""" - args = [ diff --git a/scripts/ci/images-v2/Dockerfile.ci-el8-intel b/scripts/ci/images-v2/Dockerfile.ci-el8-intel new file mode 100644 index 0000000000..82eacf7b4a --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-el8-intel @@ -0,0 +1,80 @@ +FROM almalinux:8 + +RUN dnf upgrade -y && \ + dnf install -y glibc-langpack-en + +RUN dnf install -y dnf-plugins-core && \ + dnf config-manager --set-enabled powertools && \ + dnf install -y epel-release + +RUN dnf install -y \ + bzip2-devel \ + curl \ + diffutils \ + file \ + findutils \ + git \ + gcc-c++ \ + gcc \ + gnupg2 \ + gzip \ + hdf5-devel \ + libpng-devel \ + Lmod \ + make \ + openmpi-devel \ + patch \ + patchelf \ + python3-devel \ + python3-mpi4py-openmpi \ + python3-pip \ + tar \ + tcl \ + unzip \ + which \ + xz \ + zeromq-devel \ + zfp-devel \ + zlib-devel + +# Install the compilers from an external repo +COPY oneAPI.repo /etc/yum.repos.d/ +RUN pip3 install numpy && \ + dnf install -y \ + intel-oneapi-compiler-dpcpp-cpp \ + intel-oneapi-compiler-fortran \ + intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic +RUN dnf clean all + +# Setup module files for the compilers +RUN /opt/intel/oneapi/modulefiles-setup.sh \ + --force \ + --output-dir=/usr/share/modulefiles + +# Install the latest CMake release binary +WORKDIR /opt/cmake +RUN curl -L https://cmake.org/files/LatestRelease/$(curl https://cmake.org/files/LatestRelease/ | sed -n '/linux-x86_64.tar.gz/s/.*>\(cmake[^<]*\)<.*/\1/p' | sort | tail -1) | tar --strip-components=1 -xzv + +# Install SZ +WORKDIR /opt/sz +RUN curl -L https://github.com/szcompressor/SZ/releases/download/v2.1.12.5/SZ-2.1.12.5.tar.gz | tar -xvz && \ + mkdir build && \ + cd build && \ + /opt/cmake/bin/cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/sz/2.1.12.5 ../SZ-2.1.12.5 && \ + make -j$(grep -c '^processor' /proc/cpuinfo) install && \ + cd .. && \ + rm -rf SZ-2.1.12.5 build + +ENV PATH /opt/cmake/bin:/opt/sz/2.1.12.5/bin:/usr/lib64/openmpi/bin:${PATH} +ENV LD_LIBRARY_PATH /opt/sz/2.1.12.5/lib64:${LD_LIBRARY_PATH} +ENV CMAKE_PREFIX_PATH /opt/sz/2.1.12.5:${CMAKE_PREFIX_PATH} + +# Install mpi4py +RUN mkdir /opt/mpi4py && pushd /opt/mpi4py && \ + curl -L https://github.com/mpi4py/mpi4py/releases/download/3.1.4/mpi4py-3.1.4.tar.gz | tar -xzv && \ + cd mpi4py-3.1.4/ && \ + python3 setup.py build && \ + python3 setup.py install && \ + popd && rm -rf /opt/mpi4py + +WORKDIR / diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-base deleted file mode 100644 index f5f4edeafb..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-base +++ /dev/null @@ -1,31 +0,0 @@ -ARG BASE_IMAGE=almalinux:8 -FROM $BASE_IMAGE - -RUN dnf upgrade -y && \ - dnf install -y glibc-langpack-en -RUN dnf install -y dnf-plugins-core && \ - dnf config-manager --set-enabled powertools && \ - dnf install -y epel-release -RUN dnf install -y \ - bzip2 curl file gcc-c++ gcc git gnupg2 gzip \ - make patch tcl unzip which xz patchelf diffutils findutils tar Lmod \ - python3 python3-pip -RUN dnf clean all - -RUN git clone -b v0.18.1 https://github.com/spack/spack.git /opt/spack -COPY modules.yaml /etc/spack/modules.yaml -COPY 0001-spack-rhel-fix.patch /root/0001-spack-rhel-fix.patch -COPY 0002-spack-libcatalyst-git.patch /root/0002-spack-catalyst-git.patch - -RUN cd /opt/spack && \ - patch -p0 < /root/0001-spack-rhel-fix.patch && \ - git apply /root/0002-spack-catalyst-git.patch - -RUN . /opt/spack/share/spack/setup-env.sh && \ - spack config --scope system add concretizer:targets:granularity:generic && \ - spack config update modules -y && \ - spack compiler find --scope system && \ - spack clean -a && \ - spack mirror add E4S https://cache.e4s.io && \ - spack buildcache keys --install --trust && \ - spack spec zlib diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-clang13-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-clang13-base deleted file mode 100644 index efeb3a087a..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-clang13-base +++ /dev/null @@ -1,45 +0,0 @@ -FROM ornladios/adios2:ci-spack-el8-base - -# Install build dependencies (Clang requires a newer GCC to build) -RUN dnf install -y elfutils-devel && \ - dnf install -y cmake ninja-build gcc-toolset-11 - -# Install the clang compilers from source -RUN cd /opt && \ - mkdir clang && \ - cd clang && \ - curl -L -O https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/llvm-project-13.0.1.src.tar.xz && \ - tar -xvf llvm-project-13.0.1.src.tar.xz && \ - mkdir build && \ - cd build && \ - . /opt/rh/gcc-toolset-11/enable && \ - cmake \ - -G Ninja \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/opt/clang/13.0.1 \ - -DLLVM_REQUIRES_RTTI=TRUE \ - -DLLVM_ENABLE_RTTI=TRUE \ - -DLLVM_ENABLE_EH=TRUE \ - -DLLVM_BUILD_LLVM_DYLIB=ON \ - -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \ - -DLLVM_TARGETS_TO_BUILD=X86 \ - -DLLVM_ENABLE_PROJECTS="clang;flang;lld;openmp;clang-tools-extra;libcxx;libcxxabi;compiler-rt;pstl;mlir" \ - ../llvm-project-13.0.1.src/llvm && \ - ninja install - -# Remove build-time dependencies (leave elf-utils for OpenMP to work) -RUN rm -rf /opt/clang/llvm* /opt/clang/build && \ - dnf autoremove -y cmake ninja-build gcc-toolset-11 && \ - dnf install -y gcc-gfortran && \ - dnf clean all - -# Add compilers to spack -RUN . /opt/spack/share/spack/setup-env.sh && \ - spack compiler add --scope system \ - /opt/clang/13.0.1 && \ - spack config --scope=system add 'packages:all:compiler: [clang, gcc]' && \ - sed \ - -e '15,100 s|f77: null|f77: /opt/clang/13.0.1/bin/flang|' \ - -e '15,100 s|fc: null|fc: /opt/clang/13.0.1/bin/flang|' \ - -i /etc/spack/compilers.yaml && \ - spack clean -a diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-cuda-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-cuda-base deleted file mode 100644 index 6f271fc024..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-cuda-base +++ /dev/null @@ -1,14 +0,0 @@ -ARG BASE_IMAGE=ornladios/adios2:ci-spack-el8-base -FROM $BASE_IMAGE - -RUN yum config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo - -# Install the gcc fortran compiler missing from the base image -RUN dnf install -y gcc-gfortran cuda && \ - dnf clean all - -# Add the compilers to spack -RUN . /opt/spack/share/spack/setup-env.sh && \ - spack compiler rm --scope system gcc && \ - spack compiler add --scope system && \ - spack config --scope system add "packages:all:compiler:[gcc]" diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc10-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc10-base deleted file mode 100644 index 0008b1b548..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc10-base +++ /dev/null @@ -1,17 +0,0 @@ -FROM ornladios/adios2:ci-spack-el8-base - -# Install gcc from the dev-toolset packages -RUN dnf install -y gcc-toolset-10 && \ - dnf clean all - -# Add the compilers to spack -COPY gcc-toolset-module.tcl /tmp/ -RUN . /opt/spack/share/spack/setup-env.sh && \ - sed 's|TOOLSET|10|' /tmp/gcc-toolset-module.tcl > /usr/share/Modules/modulefiles/gcc-10 && \ - rm -f /tmp/gcc-toolset-module.tcl && \ - . /etc/profile.d/modules.sh && \ - module load gcc-10 && \ - spack compiler add --scope=system && \ - MODLINE=$(grep -n modules /etc/spack/compilers.yaml | cut -d : -f 1 | tail -1) && \ - sed "${MODLINE} s|modules:.*|modules: [gcc-10]|" -i \ - /etc/spack/compilers.yaml diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc11-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc11-base deleted file mode 100644 index 3a5d7ee14e..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc11-base +++ /dev/null @@ -1,17 +0,0 @@ -FROM ornladios/adios2:ci-spack-el8-base - -# Install gcc from the dev-toolset packages -RUN dnf install -y gcc-toolset-11 && \ - dnf clean all - -# Add the compilers to spack -COPY gcc-toolset-module.tcl /tmp/ -RUN . /opt/spack/share/spack/setup-env.sh && \ - sed 's|TOOLSET|11|' /tmp/gcc-toolset-module.tcl > /usr/share/Modules/modulefiles/gcc-11 && \ - rm -f /tmp/gcc-toolset-module.tcl && \ - . /etc/profile.d/modules.sh && \ - module load gcc-11 && \ - spack compiler add --scope=system && \ - MODLINE=$(grep -n modules /etc/spack/compilers.yaml | cut -d : -f 1 | tail -1) && \ - sed "${MODLINE} s|modules:.*|modules: [gcc-11]|" -i \ - /etc/spack/compilers.yaml diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc8-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc8-base deleted file mode 100644 index 9607e82a63..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc8-base +++ /dev/null @@ -1,12 +0,0 @@ -ARG BASE_IMAGE=ornladios/adios2:ci-spack-el8-base -FROM $BASE_IMAGE - -# Install the gcc fortran compiler missing from the base image -RUN dnf install -y gcc-gfortran && \ - dnf clean all - -# Add the compilers to spack -RUN . /opt/spack/share/spack/setup-env.sh && \ - spack compiler rm --scope system gcc && \ - spack compiler add --scope system && \ - spack config --scope system add "packages:all:compiler:[gcc]" diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc9-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc9-base deleted file mode 100644 index 2655bd362e..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc9-base +++ /dev/null @@ -1,17 +0,0 @@ -FROM ornladios/adios2:ci-spack-el8-base - -# Install gcc from the dev-toolset packages -RUN dnf install -y gcc-toolset-9 && \ - dnf clean all - -# Add the compilers to spack -COPY gcc-toolset-module.tcl /tmp/ -RUN . /opt/spack/share/spack/setup-env.sh && \ - sed 's|TOOLSET|9|' /tmp/gcc-toolset-module.tcl > /usr/share/Modules/modulefiles/gcc-9 && \ - rm -f /tmp/gcc-toolset-module.tcl && \ - . /etc/profile.d/modules.sh && \ - module load gcc-9 && \ - spack compiler add --scope=system && \ - MODLINE=$(grep -n modules /etc/spack/compilers.yaml | cut -d : -f 1 | tail -1) && \ - sed "${MODLINE} s|modules:.*|modules: [gcc-9]|" -i \ - /etc/spack/compilers.yaml diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-icc-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-icc-base deleted file mode 100644 index 964e767aba..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-icc-base +++ /dev/null @@ -1,14 +0,0 @@ -FROM ornladios/adios2:ci-spack-el8-intel-base - -# Install the compilers from an external repo -RUN dnf install -y \ - intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic && \ - dnf clean all - -# Enable the classic intel compiler -RUN . /opt/spack/share/spack/setup-env.sh && \ - spack compiler add --scope system \ - /opt/intel/oneapi/compiler/latest/linux/bin/intel64 && \ - sed '15,100 s|modules: \[\]|modules: \[icc\]|' \ - -i /etc/spack/compilers.yaml && \ - spack config --scope=system add 'packages:all:compiler: [intel, gcc]' diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-intel-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-intel-base deleted file mode 100644 index 08a4992d06..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-intel-base +++ /dev/null @@ -1,13 +0,0 @@ -FROM ornladios/adios2:ci-spack-el8-base - -# Install the compilers from an external repo -COPY oneAPI.repo /etc/yum.repos.d/ -RUN dnf install -y \ - intel-oneapi-compiler-dpcpp-cpp \ - intel-oneapi-compiler-fortran && \ - dnf clean all - -# Setup module files for the compilers -RUN /opt/intel/oneapi/modulefiles-setup.sh \ - --force \ - --output-dir=/usr/share/modulefiles diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-leaf b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-leaf deleted file mode 100644 index a0e8dd0f62..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-leaf +++ /dev/null @@ -1,62 +0,0 @@ -# vim: ft=dockerfile -ARG COMPILER_IMG_BASE - -FROM almalinux:8 AS builder -ARG COMPILER_IMG_BASE - -WORKDIR /root - -RUN dnf update -y && \ - dnf install -y python3-pip && \ - pip3 install pyexpander - -COPY packages.yaml.in packages.yaml.in -COPY specs.yaml.in specs.yaml.in - -ARG DEVICE=cpu -ARG MPI_VARIANT=~mpi -ARG MPI_PROVIDER=openmpi -ARG COMPILER_SPACK_ID - -RUN expander.py --eval \ - "COMPILER=\"${COMPILER_SPACK_ID}\";COMPILER_IMG_BASE=\"${COMPILER_IMG_BASE}\";DEVICE=\"${DEVICE}\";MPI_VARIANT=\"${MPI_VARIANT}\"" \ - specs.yaml.in > specs.yaml && \ - expander.py --eval \ - "DEVICE=\"${DEVICE}\";MPI_VARIANT=\"${MPI_VARIANT}\";MPI_PROVIDER=\"${MPI_PROVIDER}\"" \ - packages.yaml.in > packages.yaml - -FROM ornladios/adios2:ci-spack-el8-${COMPILER_IMG_BASE}-base - -COPY --from=builder /root/packages.yaml /etc/spack/packages.yaml - -# Build dependencies -ARG COMPILER_SPACK_ID -RUN . /etc/profile.d/modules.sh && \ - . /opt/spack/share/spack/setup-env.sh && \ - spack spec --reuse adios2%${COMPILER_SPACK_ID} ^rhash%gcc && \ - spack install \ - --no-checksum \ - --fail-fast \ - -v \ - -j$((2 * $(grep -c '^processor' /proc/cpuinfo))) \ - --only dependencies \ - adios2%${COMPILER_SPACK_ID} ^rhash%gcc && \ - spack clean -a - -COPY --from=builder /root/specs.yaml /tmp/specs.yaml - -# Setup modules -RUN . /opt/spack/share/spack/setup-env.sh && \ - spack env create adios2-ci /tmp/specs.yaml && \ - spack -e adios2-ci add $(spack find --implicit --format "/{hash}") && \ - spack -e adios2-ci concretize --force --fresh && \ - spack -e adios2-ci install \ - --no-checksum \ - --fail-fast \ - -v \ - -j$((2 * $(grep -c '^processor' /proc/cpuinfo))) - -# Setup default login environment -RUN . /etc/profile.d/modules.sh && \ - echo "source /opt/spack/share/spack/setup-env.sh" >> /etc/profile.d/zz-adios2-ci-env.sh && \ - echo "spack env activate adios2-ci" >> /etc/profile.d/zz-adios2-ci-env.sh diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-nvhpc222-leaf b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-nvhpc222-leaf deleted file mode 100644 index f5cc2e74b7..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-nvhpc222-leaf +++ /dev/null @@ -1,38 +0,0 @@ -ARG PARALLEL -FROM ornladios/adios2:ci-spack-el8-gcc8-${PARALLEL} - -# Install NVHPC SDK -RUN cd /tmp && \ - curl -L -O https://developer.download.nvidia.com/hpc-sdk/22.2/nvhpc_2022_222_Linux_x86_64_cuda_11.6.tar.gz && \ - tar -xf nvhpc_2022_222_Linux_x86_64_cuda_11.6.tar.gz && \ - cd nvhpc_2022_222_Linux_x86_64_cuda_11.6 && \ - export \ - NVHPC_SILENT=true \ - NVHPC_INSTALL_DIR=/opt/nvidia/hpc_sdk \ - NVHPC_INSTALL_TYPE=single && \ - ./install && \ - echo 'export MODULEPATH=/opt/nvidia/hpc_sdk/modulefiles:${MODULEPATH}' > /etc/profile.d/nvhpc-modules.sh && \ - echo 'setenv MODULEPATH /opt/nvidia/hpc_sdk/modulefiles:${MODULEPATH}' > /etc/profile.d/nvhpc-modules.csh - -# Purge the unneded parts of the install to reclaim some space -ARG PARALLEL -RUN rm -rf \ - /tmp/nvhpc* \ - /opt/nvidia/hpc_sdk/Linux_x86_64/2022 \ - /opt/nvidia/hpc_sdk/Linux_x86_64/22.2/math_libs \ - /opt/nvidia/hpc_sdk/Linux_x86_64/22.2/profilers \ - /opt/nvidia/hpc_sdk/Linux_x86_64/22.2/examples \ - /opt/nvidia/hpc_sdk/modulefiles/nvhpc-byo-compiler \ - /opt/nvidia/hpc_sdk/modulefiles/nvhpc-nompi && \ - sed -e '/nvmathdir/ d' -i /opt/nvidia/hpc_sdk/modulefiles/nvhpc/* && \ - dnf config-manager --add-repo \ - https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo && \ - dnf install -y nvidia-driver-cuda-libs && \ - if [ "${PARALLEL}" = "serial" ] ; \ - then \ - rm -rf /opt/nvidia/hpc_sdk/Linux_x86_64/22.2/comm_libs ; \ - sed -e '/nvcommdir/ d' -i /opt/nvidia/hpc_sdk/modulefiles/nvhpc/* ; \ - else \ - dnf install -y libatomic ; \ - fi && \ - dnf clean all diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-oneapi-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-oneapi-base deleted file mode 100644 index d2e71c99fe..0000000000 --- a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-oneapi-base +++ /dev/null @@ -1,9 +0,0 @@ -FROM ornladios/adios2:ci-spack-el8-intel-base - -# Enable the classic intel compiler -RUN . /opt/spack/share/spack/setup-env.sh && \ - spack compiler add --scope system \ - /opt/intel/oneapi/compiler/latest/linux/bin && \ - sed '15,100 s|modules: \[\]|modules: \[compiler\]|' \ - -i /etc/spack/compilers.yaml && \ - spack config --scope=system add 'packages:all:compiler: [oneapi, gcc]' diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-base b/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-base new file mode 100644 index 0000000000..eea7b9cc30 --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-base @@ -0,0 +1,52 @@ +# vim: ft=dockerfile +FROM ecpe4s/ubuntu20.04:23.02 + +COPY packages.yaml /etc/spack/packages.yaml +COPY specs.yaml /tmp/specs.yaml + +RUN . /spack/share/spack/setup-env.sh && \ + export ADIOS_SPEC_NO_MPI="adios2~mpi" && \ + export ADIOS_SPEC_OPENMPI="adios2+mpi^openmpi@4.1.4" && \ + export ADIOS_SPEC_MPICH="adios2+mpi^mpich device=ch3 netmod=tcp" && \ + spack env create adios2-ci-serial /tmp/specs.yaml && \ + spack -e adios2-ci-serial add ${ADIOS_SPEC_NO_MPI} && \ + spack -e adios2-ci-serial concretize && \ + spack -e adios2-ci-serial install \ + --include-build-deps \ + --no-check-signature \ + --fail-fast \ + --only dependencies \ + -j$(grep -c '^processor' /proc/cpuinfo) && \ + spack env create adios2-ci-ompi /tmp/specs.yaml && \ + spack -e adios2-ci-ompi add ${ADIOS_SPEC_OPENMPI} && \ + spack -e adios2-ci-ompi concretize && \ + spack -e adios2-ci-ompi install \ + --include-build-deps \ + --no-check-signature \ + --fail-fast \ + --only dependencies \ + -j$(grep -c '^processor' /proc/cpuinfo) && \ + spack env create adios2-ci-mpich /tmp/specs.yaml && \ + spack -e adios2-ci-mpich add ${ADIOS_SPEC_MPICH} && \ + spack -e adios2-ci-mpich concretize && \ + spack -e adios2-ci-mpich install \ + --include-build-deps \ + --no-check-signature \ + --fail-fast \ + --only dependencies \ + -j$(grep -c '^processor' /proc/cpuinfo) && \ + spack clean -a && \ + echo "source /spack/share/spack/setup-env.sh" >> /etc/profile.d/zz-spack.sh + +### Other missing packages (compared to el8 base): +RUN apt-get remove -y \ + gcc-9 \ + g++-9 \ + gfortran-9 && \ + apt-get autoremove --purge -y && \ + apt-get clean && \ + update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 && \ + update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100 && \ + update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-11 100 + +ENTRYPOINT ["/bin/bash", "--login"] diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-clang b/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-clang new file mode 100644 index 0000000000..ff9e0f0dfa --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-clang @@ -0,0 +1,6 @@ +FROM adios2:ci-spack-ubuntu20.04-base +ARG CLANG_VERSION=10 + +RUN apt-get update && apt-get install -y \ + clang-${CLANG_VERSION} && \ + rm -rf /var/lib/apt/lists/* diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-gcc b/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-gcc new file mode 100644 index 0000000000..cfd679d5ca --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-gcc @@ -0,0 +1,11 @@ +FROM adios2:ci-spack-ubuntu20.04-base +ARG GCC_VERSION=8 + +RUN apt-get update && apt-get install -y \ + gcc-${GCC_VERSION} \ + g++-${GCC_VERSION} \ + gfortran-${GCC_VERSION} && \ + rm -rf /var/lib/apt/lists/* && \ + update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_VERSION} ${GCC_VERSION} && \ + update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-${GCC_VERSION} ${GCC_VERSION} && \ + update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-${GCC_VERSION} ${GCC_VERSION} diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-intel b/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-intel new file mode 100644 index 0000000000..c66b0a93a9 --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-ubuntu20.04-intel @@ -0,0 +1,13 @@ +FROM adios2:ci-spack-ubuntu20.04-base + +RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg && \ + echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list && \ + apt-get update && apt-get install -y \ + intel-oneapi-compiler-dpcpp-cpp \ + intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic \ + intel-oneapi-compiler-fortran && \ + . /spack/share/spack/setup-env.sh && \ + /opt/intel/oneapi/modulefiles-setup.sh --force --output-dir=/modules && \ + apt-get autoremove --purge && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* diff --git a/scripts/ci/images-v2/build-base.sh b/scripts/ci/images-v2/build-base.sh deleted file mode 100755 index 74c0e017d5..0000000000 --- a/scripts/ci/images-v2/build-base.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -BASE_DIR=$(dirname $(readlink -f ${BASH_SOURCE})) -source "${BASE_DIR}/build-functions.sh" - -message1 "Building ci-spack-el8 base image" -if ! build_squash \ - almalinux:8 \ - ornladios/adios2:ci-spack-el8-base \ - Dockerfile.ci-spack-el8-base -then - echo "Error: Failed to build ci-spack-el8 base image" - exit 3 -fi diff --git a/scripts/ci/images-v2/build-clang-base.sh b/scripts/ci/images-v2/build-clang-base.sh deleted file mode 100755 index 36ef314aaf..0000000000 --- a/scripts/ci/images-v2/build-clang-base.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -set +e - -BASE_DIR=$(dirname $(readlink -f ${BASH_SOURCE})) -source "${BASE_DIR}/build-functions.sh" - -message1 "Building clang13 base image" -if ! build_squash \ - ornladios/adios2:ci-spack-el8-base \ - ornladios/adios2:ci-spack-el8-clang13-base \ - Dockerfile.ci-spack-el8-clang13-base -then - echo "Error: Failed to build clang13 base image" - exit 3 -fi diff --git a/scripts/ci/images-v2/build-clang.sh b/scripts/ci/images-v2/build-clang.sh deleted file mode 100755 index 881dfc7ef7..0000000000 --- a/scripts/ci/images-v2/build-clang.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -BASE_DIR=$(dirname $(readlink -f ${BASH_SOURCE})) -source "${BASE_DIR}/build-functions.sh" - -if ! build_leafs clang13 clang -then - exit 1 -fi diff --git a/scripts/ci/images-v2/build-cuda.sh b/scripts/ci/images-v2/build-cuda.sh deleted file mode 100755 index 4fd5125b3f..0000000000 --- a/scripts/ci/images-v2/build-cuda.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -set -ex - -BASE_DIR=$(dirname $(readlink -f ${BASH_SOURCE})) -source "${BASE_DIR}/build-functions.sh" - -message1 "Building cuda base image" -if ! build_squash \ - ornladios/adios2:ci-spack-el8-base \ - ornladios/adios2:ci-spack-el8-cuda-base \ - Dockerfile.ci-spack-el8-cuda-base -then - echo "Error: Failed to build cuda base image" - exit 3 -fi - -message1 "Building ci-spack-el8 leaf image" -build_conf=cuda -if ! build_squash \ - ornladios/adios2:ci-spack-el8-cuda-base \ - ornladios/adios2:ci-spack-el8-cuda-serial \ - Dockerfile.ci-spack-el8-leaf \ - "--build-arg=COMPILER_IMG_BASE=${build_conf} - --build-arg=COMPILER_SPACK_ID=gcc - --build-arg=DEVICE=CUDA - --build-arg=MPI_VARIANT=~mpi" -then - echo "Error: Failed to build ci-spack-el8 leaf image" - exit 3 -fi diff --git a/scripts/ci/images-v2/build-el8.sh b/scripts/ci/images-v2/build-el8.sh new file mode 100755 index 0000000000..e60274cf60 --- /dev/null +++ b/scripts/ci/images-v2/build-el8.sh @@ -0,0 +1,15 @@ + +#~/bin/bash + +set -ex + +# Built the single el8 image +docker build --rm -f Dockerfile.ci-el8-intel -t adios2:ci-el8-intel . + +# Tag images +docker tag adios2:ci-el8-intel ghcr.io/ornladios/adios2:ci-el8-oneapi +docker tag adios2:ci-el8-intel ghcr.io/ornladios/adios2:ci-el8-icc + +# Push them +docker push ghcr.io/ornladios/adios2:ci-el8-oneapi +docker push ghcr.io/ornladios/adios2:ci-el8-icc diff --git a/scripts/ci/images-v2/build-functions.sh b/scripts/ci/images-v2/build-functions.sh deleted file mode 100644 index 9805c7302e..0000000000 --- a/scripts/ci/images-v2/build-functions.sh +++ /dev/null @@ -1,73 +0,0 @@ -function message1() { - echo "" - echo "****************************************" - printf '* %-36s *\n' "$1" - echo "****************************************" - echo "" -} - -function build_squash() -{ - local FROM=$1 - local TO=$2 - local DOCKERFILE=$3 - local ARGS="$4" - - if [ "${ADIOS2_CI_NO_SQUASH}" = "1" ] - then - echo "*" - echo "* Building ${TO}" - echo "*" - if ! docker build --rm ${ARGS} -t ${TO} -f ${DOCKERFILE} . - then - echo "Error: Failed to build ${TO} image" - return 1 - fi - else - echo "*" - echo "* Building ${TO}-tmp" - echo "*" - if ! docker build --rm ${ARGS} -t ${TO}-tmp -f ${DOCKERFILE} . - then - echo "Error: Failed to build ${TO}-tmp image" - return 1 - fi - echo "*" - echo "* Squashing:" - echo "* from ${FROM}" - echo "* to ${TO}-tmp" - echo "* as ${TO}" - echo "*" - docker-squash -c -f ${FROM} -t ${TO} ${TO}-tmp - fi - return 0 -} - -function build_leafs() -{ - local IMG_BASE=$1 - local SPACK_ID=$2 - - message1 "Building ${IMG_BASE}-serial image" - if ! build_squash \ - ornladios/adios2:ci-spack-el8-${IMG_BASE}-base \ - ornladios/adios2:ci-spack-el8-${IMG_BASE}-serial \ - Dockerfile.ci-spack-el8-leaf \ - "--build-arg COMPILER_IMG_BASE=${IMG_BASE} --build-arg COMPILER_SPACK_ID=${SPACK_ID} --build-arg EXTRA_VARIANTS=~mpi" - then - echo "Error: Failed to build ${IMG_BASE}-serial image" - return 1 - fi - - message1 "Building ${IMG_BASE}-mpi image" - if ! build_squash \ - ornladios/adios2:ci-spack-el8-${IMG_BASE}-base \ - ornladios/adios2:ci-spack-el8-${IMG_BASE}-mpi \ - Dockerfile.ci-spack-el8-leaf \ - "--build-arg COMPILER_IMG_BASE=${IMG_BASE} --build-arg COMPILER_SPACK_ID=${SPACK_ID} --build-arg EXTRA_VARIANTS=+mpi" - then - echo "Error: Failed to build ${IMG_BASE}-mpi image" - return 2 - fi - return 0 -} diff --git a/scripts/ci/images-v2/build-gcc-base.sh b/scripts/ci/images-v2/build-gcc-base.sh deleted file mode 100755 index 3f709423ee..0000000000 --- a/scripts/ci/images-v2/build-gcc-base.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -set +e - -BASE_DIR=$(dirname $(readlink -f ${BASH_SOURCE})) -source "${BASE_DIR}/build-functions.sh" - -for ver in 8 9 10 11 -do - message1 "Building gcc${ver} base image" - if ! build_squash \ - ornladios/adios2:ci-spack-el8-base \ - ornladios/adios2:ci-spack-el8-gcc${ver}-base \ - Dockerfile.ci-spack-el8-gcc${ver}-base - then - echo "Error: Failed to build gcc${ver} base image" - exit 3 - fi -done diff --git a/scripts/ci/images-v2/build-gcc.sh b/scripts/ci/images-v2/build-gcc.sh deleted file mode 100755 index a483addeac..0000000000 --- a/scripts/ci/images-v2/build-gcc.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -set +e -set -x - -BASE_DIR=$(dirname $(readlink -f ${BASH_SOURCE})) -source "${BASE_DIR}/build-functions.sh" - -for ver in 8 9 10 11 -do - message1 "Building gcc${ver}-serial image" - if ! build_squash \ - ornladios/adios2:ci-spack-el8-gcc${ver}-base \ - ornladios/adios2:ci-spack-el8-gcc${ver}-serial \ - Dockerfile.ci-spack-el8-leaf \ - "--build-arg COMPILER_IMG_BASE=gcc${ver} - --build-arg COMPILER_SPACK_ID=gcc - --build-arg=MPI_VARIANT=~mpi" - then - echo "Error: Failed to build gcc${ver}-serial image" - exit 3 - fi - - message1 "Building gcc${ver}-mpi image" - if ! build_squash \ - ornladios/adios2:ci-spack-el8-gcc${ver}-base \ - ornladios/adios2:ci-spack-el8-gcc${ver}-mpi \ - Dockerfile.ci-spack-el8-leaf \ - "--build-arg COMPILER_IMG_BASE=gcc${ver} - --build-arg COMPILER_SPACK_ID=gcc - --build-arg=MPI_VARIANT=+mpi" - then - echo "Error: Failed to build gcc${ver}-mpi image" - exit 3 - fi -done diff --git a/scripts/ci/images-v2/build-intel-base.sh b/scripts/ci/images-v2/build-intel-base.sh deleted file mode 100755 index 264496d485..0000000000 --- a/scripts/ci/images-v2/build-intel-base.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -set +e - -BASE_DIR=$(dirname $(readlink -f ${BASH_SOURCE})) -source "${BASE_DIR}/build-functions.sh" - -message1 "Building intel base image" -if ! build_squash \ - ornladios/adios2:ci-spack-el8-base \ - ornladios/adios2:ci-spack-el8-intel-base \ - Dockerfile.ci-spack-el8-intel-base -then - echo "Error: Failed to build intel base image" - exit 3 -fi - -message1 "Building icc base image" -if ! build_squash \ - ornladios/adios2:ci-spack-el8-intel-base \ - ornladios/adios2:ci-spack-el8-icc-base \ - Dockerfile.ci-spack-el8-icc-base -then - echo "Error: Failed to build icc base image" - exit 3 -fi - -message1 "Building oneapi base image" -ADIOS2_CI_NO_SQUASH=1 -if ! build_squash \ - ornladios/adios2:ci-spack-el8-intel-base \ - ornladios/adios2:ci-spack-el8-oneapi-base \ - Dockerfile.ci-spack-el8-oneapi-base -then - echo "Error: Failed to build oneapi base image" - exit 3 -fi diff --git a/scripts/ci/images-v2/build-intel.sh b/scripts/ci/images-v2/build-intel.sh deleted file mode 100755 index 7c80d6f9b9..0000000000 --- a/scripts/ci/images-v2/build-intel.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -BASE_DIR=$(dirname $(readlink -f ${BASH_SOURCE})) -source "${BASE_DIR}/build-functions.sh" - -if ! build_leafs icc intel -then - exit 1 -fi - -if ! build_leafs oneapi oneapi -then - exit 2 -fi diff --git a/scripts/ci/images-v2/build-mpich.sh b/scripts/ci/images-v2/build-mpich.sh deleted file mode 100755 index d53c4c9402..0000000000 --- a/scripts/ci/images-v2/build-mpich.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -set -ex - -BASE_DIR=$(dirname $(readlink -f ${BASH_SOURCE})) -source "${BASE_DIR}/build-functions.sh" - -message1 "Building ci-spack-el8 leaf image" -build_conf=gcc10 -if ! build_squash \ - ornladios/adios2:ci-spack-el8-gcc10-base \ - ornladios/adios2:ci-spack-el8-gcc10-mpich \ - Dockerfile.ci-spack-el8-leaf \ - "--build-arg=COMPILER_IMG_BASE=${build_conf} - --build-arg=COMPILER_SPACK_ID=gcc - --build-arg=MPI_PROVIDER=mpich - --build-arg=MPI_VARIANT=+mpi" -then - echo "Error: Failed to build ci-spack-el8 leaf image" - exit 3 -fi diff --git a/scripts/ci/images-v2/build-nvhpc.sh b/scripts/ci/images-v2/build-nvhpc.sh deleted file mode 100755 index 586e660439..0000000000 --- a/scripts/ci/images-v2/build-nvhpc.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -BASE_DIR=$(dirname $(readlink -f ${BASH_SOURCE})) -source "${BASE_DIR}/build-functions.sh" - -message1 "Building nvhpc222 serial image" -if ! build_squash \ - ornladios/adios2:ci-spack-el8-gcc8-serial \ - ornladios/adios2:ci-spack-el8-nvhpc222-serial \ - Dockerfile.ci-spack-el8-nvhpc222-leaf \ - "--build-arg PARALLEL=serial" -then - echo "Error: Failed to build nvhpc222 serial image" - exit 3 -fi - -message1 "Building nvhpc222 mpi image" -if ! build_squash \ - ornladios/adios2:ci-spack-el8-gcc8-mpi \ - ornladios/adios2:ci-spack-el8-nvhpc222-mpi \ - Dockerfile.ci-spack-el8-nvhpc222-leaf \ - "--build-arg PARALLEL=mpi" -then - echo "Error: Failed to build nvhpc222 mpi image" - exit 3 -fi diff --git a/scripts/ci/images-v2/build-ubuntu.sh b/scripts/ci/images-v2/build-ubuntu.sh new file mode 100755 index 0000000000..051ec026e2 --- /dev/null +++ b/scripts/ci/images-v2/build-ubuntu.sh @@ -0,0 +1,34 @@ +#~/bin/bash + +set -ex + +# Build the base image +docker build --rm -f ./Dockerfile.ci-spack-ubuntu20.04-base -t adios2:ci-spack-ubuntu20.04-base . + +# Which is also the gcc11 image +docker tag adios2:ci-spack-ubuntu20.04-base adios2:ci-spack-ubuntu20.04-gcc11 + +# Build the gcc8, gcc9, and gcc10 images +docker build --rm --build-arg GCC_VERSION=8 -f ./Dockerfile.ci-spack-ubuntu20.04-gcc -t adios2:ci-spack-ubuntu20.04-gcc8 . +docker build --rm --build-arg GCC_VERSION=9 -f ./Dockerfile.ci-spack-ubuntu20.04-gcc -t adios2:ci-spack-ubuntu20.04-gcc9 . +docker build --rm --build-arg GCC_VERSION=10 -f ./Dockerfile.ci-spack-ubuntu20.04-gcc -t adios2:ci-spack-ubuntu20.04-gcc10 . + +# Build the clang6 and clang10 images +docker build --rm --build-arg CLANG_VERSION=6.0 -f ./Dockerfile.ci-spack-ubuntu20.04-clang -t adios2:ci-spack-ubuntu20.04-clang6 . +docker build --rm --build-arg CLANG_VERSION=10 -f ./Dockerfile.ci-spack-ubuntu20.04-clang -t adios2:ci-spack-ubuntu20.04-clang10 . + +# Tag images for pushing +docker tag adios2:ci-spack-ubuntu20.04-gcc8 ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc8 +docker tag adios2:ci-spack-ubuntu20.04-gcc9 ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc9 +docker tag adios2:ci-spack-ubuntu20.04-gcc10 ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc10 +docker tag adios2:ci-spack-ubuntu20.04-gcc11 ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc11 +docker tag adios2:ci-spack-ubuntu20.04-clang6 ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-clang6 +docker tag adios2:ci-spack-ubuntu20.04-clang10 ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-clang10 + +# Push images to github container registry +docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc8 +docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc9 +docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc10 +docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc11 +docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-clang6 +docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-clang10 diff --git a/scripts/ci/images-v2/build.sh b/scripts/ci/images-v2/build.sh deleted file mode 100755 index c269a0a633..0000000000 --- a/scripts/ci/images-v2/build.sh +++ /dev/null @@ -1,135 +0,0 @@ -#!/bin/bash - -function message1() { - echo "" - echo "****************************************" - printf '* %-36s *\n' "$1" - echo "****************************************" - echo "" -} - -function build_squash() { - local FROM=$1 - local TO=$2 - local DF=$3 - local ARGS="$4" - - echo "*" - echo "* Building $TO" - echo "*" - if ! docker build --rm $ARGS -t $TO -f $DF . - then - echo "Error: Failed to build $TO image" - return 1 - fi - echo "*" - echo "* Squashing:" - echo "* from $FROM" - echo "* to $TO" - echo "* as $TO" - echo "*" - docker-squash -f $FROM -t $TO $TO - return 0 -} - -enable_base=0 -enable_inter=0 -enable_gcc=0 -enable_clang=0 -enable_intel=0 -enable_nvhpc=0 -enable_serial=0 -enable_mpi=0 - -while [ $# -gt 0 ] -do - case $1 in - base) enable_base=1;; - no_base) enable_base=0;; - inter) enable_inter=1;; - no_inter) enable_inter=0;; - gcc) enable_gcc=1;; - no_gcc) enable_gcc=0;; - clang) enable_clang=1;; - no_clang) enable_clang=0;; - intel) enable_intel=1;; - no_intel) enable_intel=0;; - nvhpc) enable_nvhpc=1;; - no_nvhpc) enable_nvhpc=0;; - serial) enable_serial=1;; - no_serial) enable_serial=0;; - mpi) enable_mpi=1;; - no_mpi) enable_mpi=0;; - *) - echo "Error: Unknown option: $1" - exit 1;; - esac - shift -done - -if [ $enable_base -eq 1 ] -then - message1 "Building ci base image" - if ! build_squash \ - almalinux:8 \ - ornladios/adios2:ci-spack-el8-base \ - Dockerfile.ci-spack-el8-base - then - echo "Error: Failed to build base image" - exit 2 - fi -fi - - -if [ $enable_inter -eq 1 ] -then - for COMPILER in gcc clang intel nvhpc - do - enabled_var="enable_$COMPILER" - if [ ${!enabled_var} -eq 1 ] - then - message1 "Building $COMPILER base image" - if ! build_squash \ - ornladios/adios2:ci-spack-el8-base \ - ornladios/adios2:ci-spack-el8-${COMPILER}-base \ - Dockerfile.ci-spack-el8-${COMPILER}-base - then - echo "Error: Failed to build ${COMPILER}-base image" - exit 3 - fi - fi - done -fi - -if [ $enable_serial -eq 0 ] && [ $enable_mpi -eq 0 ] -then - exit -fi - -for COMPILER in gcc clang intel nvhpc -do - enabled_var="enable_$COMPILER" - if [[ ${!enabled_var} -eq 0 ]] - then - continue - fi - - if [ $enable_serial -eq 1 ] - then - message1 "Building $COMPILER serial image" - build_squash \ - ornladios/adios2:ci-spack-el8-${COMPILER}-base \ - ornladios/adios2:ci-spack-el8-$COMPILER-serial \ - Dockerfile.ci-spack-el8-serial \ - "--build-arg COMPILER=$COMPILER" - fi - if [ $enable_mpi -eq 1 ] - then - message1 "Building $COMPILER mpi image" - build_squash \ - ornladios/adios2:ci-spack-el8-$COMPILER-serial \ - ornladios/adios2:ci-spack-el8-$COMPILER-mpi \ - Dockerfile.ci-spack-el8-mpi \ - "--build-arg COMPILER=$COMPILER" - fi -done diff --git a/scripts/ci/images-v2/gcc-toolset-module.tcl b/scripts/ci/images-v2/gcc-toolset-module.tcl deleted file mode 100644 index bc71576db0..0000000000 --- a/scripts/ci/images-v2/gcc-toolset-module.tcl +++ /dev/null @@ -1,10 +0,0 @@ -#%Module1.0 - -set gcchome /opt/rh/gcc-toolset-TOOLSET/root - -prepend-path PATH $gcchome/usr/bin -prepend-path MANPATH $gcchome/usr/share/man -prepend-path INFOPATH $gcchome/usr/share/info -prepend-path PCP_DIR $gcchome -prepend-path LD_LIBRARY_PATH $gcchome/usr/lib64:$gcchome/usr/lib:$gcchome/usr/lib64/dyninst:$gcchome/usr/lib/dyninst -prepend-path PKG_CONFIG_PATH $gcchome/usr/lib64/pkgconfig diff --git a/scripts/ci/images-v2/modules.yaml b/scripts/ci/images-v2/modules.yaml deleted file mode 100644 index 583ff26fbe..0000000000 --- a/scripts/ci/images-v2/modules.yaml +++ /dev/null @@ -1,10 +0,0 @@ -modules: - default: - enable: - - tcl - tcl: - hash_length: 0 - all: - autoload: 'direct' - projections: - all: '{name}/{version}' diff --git a/scripts/ci/images-v2/packages.yaml b/scripts/ci/images-v2/packages.yaml new file mode 100644 index 0000000000..3ee74eaa66 --- /dev/null +++ b/scripts/ci/images-v2/packages.yaml @@ -0,0 +1,7 @@ +packages: + all: + target: [haswell] + adios2: + require: +blosc+bzip2+zfp+sz+png+sst+dataman+ssc+hdf5+python+fortran + cmake: + version: [3.24] diff --git a/scripts/ci/images-v2/packages.yaml.in b/scripts/ci/images-v2/packages.yaml.in deleted file mode 100644 index 2039f42305..0000000000 --- a/scripts/ci/images-v2/packages.yaml.in +++ /dev/null @@ -1,16 +0,0 @@ -packages: - all: - target: [haswell] - providers: - mpi: [$(MPI_PROVIDER)] - adios2: - variants: $(MPI_VARIANT)+blosc+bzip2+zfp+sz+png+sst+dataman+ssc+hdf5+python+fortran - cmake: - version: [3.24] - mpich: - version: [3.3.2] - variants: device=ch3 netmod=tcp -$if(DEVICE == "CUDA")\ - zfp: - variants: +cuda+shared -$endif\ diff --git a/scripts/ci/images-v2/specs.yaml b/scripts/ci/images-v2/specs.yaml new file mode 100644 index 0000000000..e67f9a7f8f --- /dev/null +++ b/scripts/ci/images-v2/specs.yaml @@ -0,0 +1,6 @@ +spack: + view: true + config: + checksum: false + concretizer: + unify: false diff --git a/scripts/ci/images-v2/specs.yaml.in b/scripts/ci/images-v2/specs.yaml.in deleted file mode 100644 index 23ed3450d5..0000000000 --- a/scripts/ci/images-v2/specs.yaml.in +++ /dev/null @@ -1,15 +0,0 @@ -$default(COMPILER="gcc",COMPILER_IMG_BASE="",DEVICE="BASE")\ -spack: - specs: - - libsodium%$(COMPILER) -$if(DEVICE == "CUDA")\ - - kokkos@3.7.00%gcc+cuda+wrapper+cuda_lambda cuda_arch=52 -$endif\ -$if(COMPILER_IMG_BASE == "gcc10")\ - - libcatalyst@3f7871c0a2e737cb9ed35fc1c2208456fcc00a0e%$(COMPILER)$(MPI_VARIANT) -$endif\ - view: true - config: - checksum: false - concretizer: - unify: false diff --git a/scripts/ci/setup-run/ci-el8-gcc10.sh b/scripts/ci/setup-run/ci-el8-gcc10.sh deleted file mode 100644 index 82ecc2b734..0000000000 --- a/scripts/ci/setup-run/ci-el8-gcc10.sh +++ /dev/null @@ -1 +0,0 @@ -module load gcc-10 diff --git a/scripts/ci/setup-run/ci-el8-gcc11.sh b/scripts/ci/setup-run/ci-el8-gcc11.sh deleted file mode 100644 index d18168dda5..0000000000 --- a/scripts/ci/setup-run/ci-el8-gcc11.sh +++ /dev/null @@ -1 +0,0 @@ -module load gcc-11 diff --git a/scripts/ci/setup-run/ci-el8-gcc9.sh b/scripts/ci/setup-run/ci-el8-gcc9.sh deleted file mode 100644 index 00a701fed4..0000000000 --- a/scripts/ci/setup-run/ci-el8-gcc9.sh +++ /dev/null @@ -1 +0,0 @@ -module load gcc-9 diff --git a/scripts/ci/setup-run/ci-el8-icc.sh b/scripts/ci/setup-run/ci-el8-icc.sh index 57c0ff934c..e0e8b513b3 100644 --- a/scripts/ci/setup-run/ci-el8-icc.sh +++ b/scripts/ci/setup-run/ci-el8-icc.sh @@ -1 +1,3 @@ +#!/bin/bash + module load icc diff --git a/scripts/ci/setup-run/ci-el8-nvhpc222-mpi.sh b/scripts/ci/setup-run/ci-el8-nvhpc222-mpi.sh deleted file mode 100644 index 14b096a909..0000000000 --- a/scripts/ci/setup-run/ci-el8-nvhpc222-mpi.sh +++ /dev/null @@ -1,2 +0,0 @@ -module unload $(module -t --redirect avail openmpi) -source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-nvhpc222.sh diff --git a/scripts/ci/setup-run/ci-el8-nvhpc222.sh b/scripts/ci/setup-run/ci-el8-nvhpc222.sh deleted file mode 100644 index 314ad72a51..0000000000 --- a/scripts/ci/setup-run/ci-el8-nvhpc222.sh +++ /dev/null @@ -1 +0,0 @@ -module load nvhpc diff --git a/scripts/ci/setup-run/ci-el8-oneapi.sh b/scripts/ci/setup-run/ci-el8-oneapi.sh index cf19fa4b7d..ddcc7140d1 100644 --- a/scripts/ci/setup-run/ci-el8-oneapi.sh +++ b/scripts/ci/setup-run/ci-el8-oneapi.sh @@ -1,2 +1,4 @@ +#!/bin/bash + module load icc module load compiler diff --git a/scripts/ci/setup-run/ci-ubuntu20.04-clang10.sh b/scripts/ci/setup-run/ci-ubuntu20.04-clang10.sh new file mode 100644 index 0000000000..2909cd86b5 --- /dev/null +++ b/scripts/ci/setup-run/ci-ubuntu20.04-clang10.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +spack env activate "adios2-ci-${GH_YML_MATRIX_PARALLEL}" diff --git a/scripts/ci/setup-run/ci-ubuntu20.04-clang6.sh b/scripts/ci/setup-run/ci-ubuntu20.04-clang6.sh new file mode 100644 index 0000000000..2909cd86b5 --- /dev/null +++ b/scripts/ci/setup-run/ci-ubuntu20.04-clang6.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +spack env activate "adios2-ci-${GH_YML_MATRIX_PARALLEL}" diff --git a/scripts/ci/setup-run/ci-ubuntu20.04-gcc10.sh b/scripts/ci/setup-run/ci-ubuntu20.04-gcc10.sh new file mode 100644 index 0000000000..74113665a3 --- /dev/null +++ b/scripts/ci/setup-run/ci-ubuntu20.04-gcc10.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +update-alternatives --set gcc "$(update-alternatives --list gcc | grep gcc-10)" +update-alternatives --set g++ "$(update-alternatives --list g++ | grep g++-10)" +update-alternatives --set gfortran "$(update-alternatives --list gfortran | grep gfortran-10)" + +spack env activate "adios2-ci-${GH_YML_MATRIX_PARALLEL}" diff --git a/scripts/ci/setup-run/ci-ubuntu20.04-gcc11.sh b/scripts/ci/setup-run/ci-ubuntu20.04-gcc11.sh new file mode 100644 index 0000000000..d5954614d0 --- /dev/null +++ b/scripts/ci/setup-run/ci-ubuntu20.04-gcc11.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +update-alternatives --set gcc "$(update-alternatives --list gcc | grep gcc-11)" +update-alternatives --set g++ "$(update-alternatives --list g++ | grep g++-11)" +update-alternatives --set gfortran "$(update-alternatives --list gfortran | grep gfortran-11)" + +spack env activate "adios2-ci-${GH_YML_MATRIX_PARALLEL}" diff --git a/scripts/ci/setup-run/ci-ubuntu20.04-gcc8.sh b/scripts/ci/setup-run/ci-ubuntu20.04-gcc8.sh new file mode 100644 index 0000000000..942a57eb02 --- /dev/null +++ b/scripts/ci/setup-run/ci-ubuntu20.04-gcc8.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +update-alternatives --set gcc "$(update-alternatives --list gcc | grep gcc-8)" +update-alternatives --set g++ "$(update-alternatives --list g++ | grep g++-8)" +update-alternatives --set gfortran "$(update-alternatives --list gfortran | grep gfortran-8)" + +spack env activate "adios2-ci-${GH_YML_MATRIX_PARALLEL}" diff --git a/scripts/ci/setup-run/ci-ubuntu20.04-gcc9.sh b/scripts/ci/setup-run/ci-ubuntu20.04-gcc9.sh new file mode 100644 index 0000000000..de5e08fb87 --- /dev/null +++ b/scripts/ci/setup-run/ci-ubuntu20.04-gcc9.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +update-alternatives --set gcc "$(update-alternatives --list gcc | grep gcc-9)" +update-alternatives --set g++ "$(update-alternatives --list g++ | grep g++-9)" +update-alternatives --set gfortran "$(update-alternatives --list gfortran | grep gfortran-9)" + +spack env activate "adios2-ci-${GH_YML_MATRIX_PARALLEL}" diff --git a/source/adios2/engine/bp5/BP5Reader.cpp b/source/adios2/engine/bp5/BP5Reader.cpp index 673dbfbd61..21322000c2 100644 --- a/source/adios2/engine/bp5/BP5Reader.cpp +++ b/source/adios2/engine/bp5/BP5Reader.cpp @@ -385,20 +385,9 @@ void BP5Reader::PerformGets() }*/ // wait for all async threads - int tid = 1; for (auto &f : futures) { - /*auto t = */ f.get(); - /*double tSubfile = std::get<0>(t); - double tRead = std::get<1>(t); - double tCopy = std::get<2>(t); - size_t nReads = std::get<3>(t); - std::cout << " -> PerformGets() thread " << tid - << " total = " << tSubfile + tRead + tCopy - << "s, subfile = " << tSubfile << "s, read = " << tRead - << "s, copy = " << tCopy << ", nReads = " << nReads - << std::endl;*/ - ++tid; + f.get(); } } else diff --git a/source/adios2/engine/dataman/DataManWriter.cpp b/source/adios2/engine/dataman/DataManWriter.cpp index 2cd2e17e0e..5cc95578c6 100644 --- a/source/adios2/engine/dataman/DataManWriter.cpp +++ b/source/adios2/engine/dataman/DataManWriter.cpp @@ -365,7 +365,6 @@ void DataManWriter::Handshake() void DataManWriter::ReplyThread() { - int readerCount = 0; while (m_ReplyThreadActive) { auto request = m_Replier.ReceiveRequest(); @@ -384,7 +383,6 @@ void DataManWriter::ReplyThread() else if (r == "Ready") { m_Replier.SendReply("OK", 2); - ++readerCount; } else if (r == "Step") {