diff --git a/.github/workflows/everything.yml b/.github/workflows/everything.yml index 01f09a6431..32a360ab73 100644 --- a/.github/workflows/everything.yml +++ b/.github/workflows/everything.yml @@ -41,41 +41,17 @@ jobs: needs: format runs-on: ubuntu-latest container: - image: ${{ matrix.container }} + image: ornladios/adios2:ci-spack-el8-${{ matrix.compiler }}-${{ matrix.parallel }} options: --shm-size=1g env: - GH_YML_JOBNAME: ${{ matrix.jobname }} + GH_YML_JOBNAME: el8-${{ matrix.compiler }}-${{ matrix.parallel }} GH_YML_OS: Linux strategy: fail-fast: false matrix: - jobname: [ - el7, - el7-gnu8-ohpc, - el7-gnu8-openmpi-ohpc, - el7-gnu8-openmpi-ohpc-static, - suse-pgi, - suse-pgi-openmpi, - debian-sid, - debian-sid-openmpi ] - include: - - jobname: el7 - container: ornladios/adios2:ci-el7 - - jobname: el7-gnu8-ohpc - container: ornladios/adios2:ci-el7-gnu8-ohpc - - jobname: el7-gnu8-openmpi-ohpc - container: ornladios/adios2:ci-el7-gnu8-openmpi-ohpc - - jobname: el7-gnu8-openmpi-ohpc-static - container: ornladios/adios2:ci-el7-gnu8-openmpi-ohpc - - jobname: suse-pgi - container: ornladios/adios2:ci-suse-nvhpcsdk - - jobname: suse-pgi-openmpi - container: ornladios/adios2:ci-suse-nvhpcsdk-openmpi - - jobname: debian-sid - container: ornladios/adios2:ci-debian-sid - - jobname: debian-sid-openmpi - container: ornladios/adios2:ci-debian-sid + compiler: [ gcc8, gcc9, gcc10, gcc11, icc, oneapi, nvhpc222 ] + parallel: [ serial, mpi ] steps: - uses: actions/checkout@v2 @@ -138,6 +114,46 @@ jobs: run: scripts/ci/gh-actions/run.sh test + macos: + needs: format + runs-on: ${{ matrix.image }} + env: + GH_YML_JOBNAME: ${{ matrix.os }}-${{ matrix.parallel }} + GH_YML_OS: macOS + GH_YML_XCODE: "${{ matrix.xcode }}" + + strategy: + fail-fast: false + matrix: + os: [ macos10, macos11, macos11_12sdk ] + # parallel: [ serial, mpi ] + parallel: [ serial ] + include: + - os: macos10 + image: macos-10.15 + xcode: "12.1.1" + - os: macos11 + image: macos-11 + xcode: "13.0" + - os: macos11_12sdk + image: macos-11 + xcode: "13.2.1" + + steps: + - uses: actions/checkout@v2 + with: + ref: ${{ github.event.pull_request.head.sha }} + - name: Setup + run: scripts/ci/gh-actions/macos-setup.sh + - name: Update + run: scripts/ci/gh-actions/run.sh update + - name: Configure + run: scripts/ci/gh-actions/run.sh configure + - name: Build + run: scripts/ci/gh-actions/run.sh build + - name: Test + run: scripts/ci/gh-actions/run.sh test + ####################################### # Docker container jobs ####################################### diff --git a/CTestCustom.cmake.in b/CTestCustom.cmake.in index 35492779da..0585b3ceb9 100644 --- a/CTestCustom.cmake.in +++ b/CTestCustom.cmake.in @@ -17,6 +17,8 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION "Warning: Rank mismatch between actual argument.*" "zfp/types.h.*typedef" "was built for newer macOS version" + "warning generated" + "warnings generated" ) list(APPEND CTEST_CUSTOM_COVERAGE_EXCLUDE ".*/thirdparty/.*" diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 4e1894e60c..0000000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,96 +0,0 @@ -trigger: -- master -- release* - -pr: - autoCancel: true - branches: - include: - - master - - release* - -resources: - containers: - - container: el7-intel-ohpc - image: ornladios/adios2:ci-el7-intel-ohpc - options: --shm-size=1g - - container: el7-intel-openmpi-ohpc - image: ornladios/adios2:ci-el7-intel-openmpi-ohpc - options: --shm-size=1g - -jobs: -- job: windows - timeoutInMinutes: 120 - strategy: - matrix: - win2016_vs2017: - hostImage: vs2017-win2016 - win2016_vs2017_msmpi_ninja: - hostImage: vs2017-win2016 - win2019_vs2019_ninja: - hostImage: windows-2019 - win2019_vs2019_msmpi: - hostImage: windows-2019 - - pool: - vmImage: $[ variables['hostImage'] ] - - steps: - - powershell: scripts/ci/azure/windows-setup.ps1 - name: Setup - - bash: scripts/ci/azure/run.sh update - name: Update - - bash: scripts/ci/azure/run.sh configure - name: Configure - - bash: scripts/ci/azure/run.sh build - name: Build - - bash: scripts/ci/azure/run.sh test - name: Test - -- job: macos - timeoutInMinutes: 120 - strategy: - matrix: - macos1015_xcode1211_make: - hostImage: 'macOS-10.15' - macos11_xcode131_ninja: - hostImage: 'macOS-11' - - pool: - vmImage: $[ variables['hostImage'] ] - steps: - - bash: scripts/ci/azure/macos-setup.sh - name: Setup - - bash: scripts/ci/azure/run.sh update - name: Update - - bash: scripts/ci/azure/run.sh configure - name: Configure - - bash: scripts/ci/azure/run.sh build - name: Build - - bash: scripts/ci/azure/run.sh test - name: Test - -- job: linux - timeoutInMinutes: 120 - strategy: - matrix: - el7_intel_ohpc: - containerResource: el7-intel-ohpc - el7_intel_openmpi_ohpc: - containerResource: el7-intel-openmpi-ohpc - pool: - vmImage: 'ubuntu-latest' - container: $[ variables['containerResource'] ] - steps: - - bash: scripts/ci/azure/linux-setup.sh - env: - INTEL_LICENSE_FILE_CONTENT: $(INTEL_LICENSE_FILE_CONTENT) - name: Setup - - bash: scripts/ci/azure/run.sh update - name: Update - - bash: scripts/ci/azure/run.sh configure - name: Configure - - bash: scripts/ci/azure/run.sh build - name: Build - - bash: scripts/ci/azure/run.sh test - name: Test diff --git a/examples/hello/bpFWriteCRead/CppReader.cpp b/examples/hello/bpFWriteCRead/CppReader.cpp index e00d9ccebf..7858c0b4a2 100644 --- a/examples/hello/bpFWriteCRead/CppReader.cpp +++ b/examples/hello/bpFWriteCRead/CppReader.cpp @@ -35,7 +35,7 @@ int main(int argc, char *argv[]) const std::map variables = bpIO.AvailableVariables(); - for (const auto variablePair : variables) + for (const auto &variablePair : variables) { std::cout << "Name: " << variablePair.first; diff --git a/examples/hello/bpReader/helloBPReader.cpp b/examples/hello/bpReader/helloBPReader.cpp index 28fabcd23b..1e1cb483fa 100644 --- a/examples/hello/bpReader/helloBPReader.cpp +++ b/examples/hello/bpReader/helloBPReader.cpp @@ -41,7 +41,7 @@ int main(int argc, char *argv[]) const std::map variables = bpIO.AvailableVariables(); - for (const auto variablePair : variables) + for (const auto &variablePair : variables) { std::cout << "Name: " << variablePair.first; diff --git a/scripts/ci/cmake-v2/ci-common.cmake b/scripts/ci/cmake-v2/ci-common.cmake new file mode 100644 index 0000000000..dc03b2febc --- /dev/null +++ b/scripts/ci/cmake-v2/ci-common.cmake @@ -0,0 +1,62 @@ +if(POLICY CMP0057) + cmake_policy(SET CMP0057 NEW) +endif() + +if(NOT CTEST_BUILD_CONFIGURATION) + set(CTEST_BUILD_CONFIGURATION Debug) +endif() + +if(NOT DEFINED NCPUS) + include(ProcessorCount) + ProcessorCount(NCPUS) +endif() +math(EXPR N2CPUS "${NCPUS}*2") +if(NOT CTEST_BUILD_FLAGS) + if(CTEST_CMAKE_GENERATOR STREQUAL "Unix Makefiles") + set(CTEST_BUILD_FLAGS "-k -j${N2CPUS}") + elseif(CTEST_CMAKE_GENERATOR STREQUAL "Ninja") + set(CTEST_BUILD_FLAGS "-k0 -j${N2CPUS}") + endif() +endif() +if(NOT PARALLEL_LEVEL IN_LIST CTEST_TEST_ARGS) + list(APPEND CTEST_TEST_ARGS PARALLEL_LEVEL ${N2CPUS}) +endif() + +if(NOT dashboard_model) + set(dashboard_model Experimental) +endif() +if(NOT dashboard_binary_name) + set(dashboard_binary_name "build") +endif() +if(NOT dashboard_track) + set(dashboard_track "Continuous Integration") +endif() +find_program(CTEST_GIT_COMMAND git) +if(NOT "$ENV{CI_COMMIT_REF}" STREQUAL "") + set(dashboard_git_branch "$ENV{CI_COMMIT_REF}") + set(CTEST_UPDATE_VERSION_ONLY ON) +endif() +if(NOT "$ENV{CI_SITE_NAME}" STREQUAL "") + set(CTEST_SITE "$ENV{CI_SITE_NAME}") +endif() +if(NOT "$ENV{CI_BUILD_NAME}" STREQUAL "") + set(CTEST_BUILD_NAME "$ENV{CI_BUILD_NAME}") +endif() +if(NOT "$ENV{CI_ROOT_DIR}" STREQUAL "") + set(CTEST_DASHBOARD_ROOT "$ENV{CI_ROOT_DIR}") +endif() +if(NOT "$ENV{CI_SOURCE_DIR}" STREQUAL "") + set(CTEST_SOURCE_DIRECTORY "$ENV{CI_SOURCE_DIR}") +endif() +if(NOT "$ENV{CI_BIN_DIR}" STREQUAL "") + set(CTEST_BINARY_DIRECTORY "$ENV{CI_BIN_DIR}") +endif() + +list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") +set(CTEST_UPDATE_COMMAND ${CTEST_GIT_COMMAND}) +set(CTEST_UPTATE_TYPE git) +set(CTEST_UPDATE_VERSION_ONLY TRUE) +include(${CMAKE_CURRENT_LIST_DIR}/../../dashboard/adios_common.cmake) +if(ctest_build_num_warnings GREATER 0) + message(FATAL_ERROR "Found ${ctest_build_num_warnings} warnings.") +endif() diff --git a/scripts/ci/cmake-v2/ci-el8-gcc10-mpi.cmake b/scripts/ci/cmake-v2/ci-el8-gcc10-mpi.cmake new file mode 100644 index 0000000000..78a2c3eb37 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-gcc10-mpi.cmake @@ -0,0 +1,34 @@ +# Client maintainer: chuck.atkins@kitware.com + +include(ProcessorCount) +ProcessorCount(NCPUS) +math(EXPR N2CPUS "${NCPUS}*2") + +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=OFF +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 + +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_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-gcc10-serial.cmake b/scripts/ci/cmake-v2/ci-el8-gcc10-serial.cmake new file mode 100644 index 0000000000..4566a06948 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-gcc10-serial.cmake @@ -0,0 +1,27 @@ +# 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=OFF +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-gcc11-mpi.cmake b/scripts/ci/cmake-v2/ci-el8-gcc11-mpi.cmake new file mode 100644 index 0000000000..78a2c3eb37 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-gcc11-mpi.cmake @@ -0,0 +1,34 @@ +# Client maintainer: chuck.atkins@kitware.com + +include(ProcessorCount) +ProcessorCount(NCPUS) +math(EXPR N2CPUS "${NCPUS}*2") + +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=OFF +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 + +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_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-gcc11-serial.cmake b/scripts/ci/cmake-v2/ci-el8-gcc11-serial.cmake new file mode 100644 index 0000000000..4566a06948 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-gcc11-serial.cmake @@ -0,0 +1,27 @@ +# 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=OFF +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-gcc8-mpi.cmake b/scripts/ci/cmake-v2/ci-el8-gcc8-mpi.cmake new file mode 100644 index 0000000000..78a2c3eb37 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-gcc8-mpi.cmake @@ -0,0 +1,34 @@ +# Client maintainer: chuck.atkins@kitware.com + +include(ProcessorCount) +ProcessorCount(NCPUS) +math(EXPR N2CPUS "${NCPUS}*2") + +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=OFF +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 + +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_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-gcc8-serial.cmake b/scripts/ci/cmake-v2/ci-el8-gcc8-serial.cmake new file mode 100644 index 0000000000..4566a06948 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-gcc8-serial.cmake @@ -0,0 +1,27 @@ +# 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=OFF +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-gcc9-mpi.cmake b/scripts/ci/cmake-v2/ci-el8-gcc9-mpi.cmake new file mode 100644 index 0000000000..78a2c3eb37 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-gcc9-mpi.cmake @@ -0,0 +1,34 @@ +# Client maintainer: chuck.atkins@kitware.com + +include(ProcessorCount) +ProcessorCount(NCPUS) +math(EXPR N2CPUS "${NCPUS}*2") + +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=OFF +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 + +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_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-gcc9-serial.cmake b/scripts/ci/cmake-v2/ci-el8-gcc9-serial.cmake new file mode 100644 index 0000000000..4566a06948 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-gcc9-serial.cmake @@ -0,0 +1,27 @@ +# 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=OFF +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-mpi.cmake new file mode 100644 index 0000000000..5aae30a478 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-icc-mpi.cmake @@ -0,0 +1,34 @@ +# Client maintainer: chuck.atkins@kitware.com + +include(ProcessorCount) +ProcessorCount(NCPUS) +math(EXPR N2CPUS "${NCPUS}*2") + +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_DataMan:BOOL=ON +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_HDF5:BOOL=OFF +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 + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-warn all -stand none + +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 new file mode 100644 index 0000000000..5727708458 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-icc-serial.cmake @@ -0,0 +1,27 @@ +# 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_DataMan:BOOL=ON +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_HDF5:BOOL=OFF +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=-warn all -stand none +") + +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-mpi.cmake b/scripts/ci/cmake-v2/ci-el8-nvhpc222-mpi.cmake new file mode 100644 index 0000000000..14aacecf52 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-nvhpc222-mpi.cmake @@ -0,0 +1,35 @@ +# 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=OFF +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 new file mode 100644 index 0000000000..2276b47f10 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-nvhpc222-serial.cmake @@ -0,0 +1,28 @@ +# 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=OFF +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-mpi.cmake new file mode 100644 index 0000000000..63c037bea7 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-oneapi-mpi.cmake @@ -0,0 +1,34 @@ +# Client maintainer: chuck.atkins@kitware.com + +include(ProcessorCount) +ProcessorCount(NCPUS) +math(EXPR N2CPUS "${NCPUS}*2") + +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_DataMan:BOOL=ON +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_HDF5:BOOL=OFF +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 + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-warn all + +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 new file mode 100644 index 0000000000..1eab979d75 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-el8-oneapi-serial.cmake @@ -0,0 +1,27 @@ +# 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_DataMan:BOOL=ON +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_HDF5:BOOL=OFF +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=-warn all +") + +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-macos10-mpi.cmake b/scripts/ci/cmake-v2/ci-macos10-mpi.cmake new file mode 100644 index 0000000000..f4ba0eeabf --- /dev/null +++ b/scripts/ci/cmake-v2/ci-macos10-mpi.cmake @@ -0,0 +1,23 @@ +# Client maintainer: chuck.atkins@kitware.com +set(ENV{CC} clang) +set(ENV{CXX} clang++) +set(ENV{FC} gfortran-11) + +set(dashboard_cache " +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_MPI:BOOL=ON +ADISO2_USE_Python:BOOL=ON + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-Wall +") + +set(ENV{MACOSX_DEPLOYMENT_TARGET} "10.15") +set(CTEST_CMAKE_GENERATOR "Unix Makefiles") +list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") +set(CTEST_TEST_ARGS + # Unclear why these tests currently die. Disabling until it can be addressed. + EXCLUDE "Install.Make.*" +) +include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-macos10-serial.cmake b/scripts/ci/cmake-v2/ci-macos10-serial.cmake new file mode 100644 index 0000000000..4e4941032e --- /dev/null +++ b/scripts/ci/cmake-v2/ci-macos10-serial.cmake @@ -0,0 +1,23 @@ +# Client maintainer: chuck.atkins@kitware.com +set(ENV{CC} clang) +set(ENV{CXX} clang++) +set(ENV{FC} gfortran-11) + +set(dashboard_cache " +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_MPI:BOOL=OFF +ADISO2_USE_Python:BOOL=ON + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-Wall +") + +set(ENV{MACOSX_DEPLOYMENT_TARGET} "10.15") +set(CTEST_CMAKE_GENERATOR "Unix Makefiles") +list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") +set(CTEST_TEST_ARGS + # Unclear why these tests currently die. Disabling until it can be addressed. + EXCLUDE "Install.Make.*" +) +include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-macos11-mpi.cmake b/scripts/ci/cmake-v2/ci-macos11-mpi.cmake new file mode 100644 index 0000000000..386650ef6e --- /dev/null +++ b/scripts/ci/cmake-v2/ci-macos11-mpi.cmake @@ -0,0 +1,23 @@ +# Client maintainer: chuck.atkins@kitware.com +set(ENV{CC} clang) +set(ENV{CXX} clang++) +set(ENV{FC} gfortran-11) + +set(dashboard_cache " +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_MPI:BOOL=ON +ADISO2_USE_Python:BOOL=ON + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-Wall +") + +set(ENV{MACOSX_DEPLOYMENT_TARGET} "11.3") +set(CTEST_CMAKE_GENERATOR "Ninja") +list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") +set(CTEST_TEST_ARGS + # Unclear why these tests currently die. Disabling until it can be addressed. + EXCLUDE "Install.Make.*" +) +include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-macos11-serial.cmake b/scripts/ci/cmake-v2/ci-macos11-serial.cmake new file mode 100644 index 0000000000..821ac5357a --- /dev/null +++ b/scripts/ci/cmake-v2/ci-macos11-serial.cmake @@ -0,0 +1,23 @@ +# Client maintainer: chuck.atkins@kitware.com +set(ENV{CC} clang) +set(ENV{CXX} clang++) +set(ENV{FC} gfortran-11) + +set(dashboard_cache " +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_MPI:BOOL=OFF +ADISO2_USE_Python:BOOL=ON + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-Wall +") + +set(ENV{MACOSX_DEPLOYMENT_TARGET} "11.3") +set(CTEST_CMAKE_GENERATOR "Ninja") +list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") +set(CTEST_TEST_ARGS + # Unclear why these tests currently die. Disabling until it can be addressed. + EXCLUDE "Install.Make.*" +) +include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-macos11_12sdk-mpi.cmake b/scripts/ci/cmake-v2/ci-macos11_12sdk-mpi.cmake new file mode 100644 index 0000000000..2386f1e72c --- /dev/null +++ b/scripts/ci/cmake-v2/ci-macos11_12sdk-mpi.cmake @@ -0,0 +1,23 @@ +# Client maintainer: chuck.atkins@kitware.com +set(ENV{CC} clang) +set(ENV{CXX} clang++) +set(ENV{FC} gfortran-11) + +set(dashboard_cache " +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_MPI:BOOL=ON +ADISO2_USE_Python:BOOL=ON + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-Wall +") + +set(ENV{MACOSX_DEPLOYMENT_TARGET} "12.1") +set(CTEST_CMAKE_GENERATOR "Ninja") +list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") +set(CTEST_TEST_ARGS + # Unclear why these tests currently die. Disabling until it can be addressed. + EXCLUDE "Install.Make.*" +) +include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-macos11_12sdk-serial.cmake b/scripts/ci/cmake-v2/ci-macos11_12sdk-serial.cmake new file mode 100644 index 0000000000..2d47ad020f --- /dev/null +++ b/scripts/ci/cmake-v2/ci-macos11_12sdk-serial.cmake @@ -0,0 +1,23 @@ +# Client maintainer: chuck.atkins@kitware.com +set(ENV{CC} clang) +set(ENV{CXX} clang++) +set(ENV{FC} gfortran-11) + +set(dashboard_cache " +ADIOS2_USE_Fortran:BOOL=ON +ADIOS2_USE_MPI:BOOL=OFF +ADISO2_USE_Python:BOOL=ON + +CMAKE_C_FLAGS:STRING=-Wall +CMAKE_CXX_FLAGS:STRING=-Wall +CMAKE_Fortran_FLAGS:STRING=-Wall +") + +set(ENV{MACOSX_DEPLOYMENT_TARGET} "12.1") +set(CTEST_CMAKE_GENERATOR "Ninja") +list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") +set(CTEST_TEST_ARGS + # Unclear why these tests currently die. Disabling until it can be addressed. + EXCLUDE "Install.Make.*" +) +include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake-v2/ci-power8-el7-xl-smpi.cmake b/scripts/ci/cmake-v2/ci-power8-el7-xl-smpi.cmake new file mode 100644 index 0000000000..3f2bf9ad4a --- /dev/null +++ b/scripts/ci/cmake-v2/ci-power8-el7-xl-smpi.cmake @@ -0,0 +1,36 @@ +# Client maintainer: chuck.atkins@kitware.com + +set(ENV{CC} xlc) +set(ENV{CXX} xlc++) +set(ENV{FC} xlf) + +find_program(MPICC mpixlc) +find_program(MPICXX mpixlC) +find_program(MPIFC mpixlf) + +set(dashboard_cache " +ADIOS2_USE_BZip2:BOOL=OFF +ADIOS2_USE_Blosc:BOOL=OFF +ADIOS2_USE_DataMan:BOOL=OFF +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=OFF +ADIOS2_USE_ZFP:BOOL=ON + +MPI_C_COMPILER:FILEPATH=${MPICC} +MPI_CXX_COMPILER:FILEPATH=${MPICXX} +MPI_Fortran_COMPILER:FILEPATH=${MPIFC} +MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe -tcp +") + +set(CTEST_TEST_ARGS + PARALLEL_LEVEL 1 + INCLUDE "^(Interface|Install)" +) +set(CTEST_TEST_TIMEOUT 300) +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-power8-el7-xl.cmake b/scripts/ci/cmake-v2/ci-power8-el7-xl.cmake new file mode 100644 index 0000000000..69ca398d64 --- /dev/null +++ b/scripts/ci/cmake-v2/ci-power8-el7-xl.cmake @@ -0,0 +1,26 @@ +# Client maintainer: chuck.atkins@kitware.com + +set(ENV{CC} xlc) +set(ENV{CXX} xlc++) +set(ENV{FC} xlf) + +set(dashboard_cache " +ADIOS2_USE_BZip2:BOOL=OFF +ADIOS2_USE_Blosc:BOOL=OFF +ADIOS2_USE_DataMan:BOOL=OFF +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=OFF +ADIOS2_USE_ZFP:BOOL=ON +") + +set(CTEST_TEST_ARGS + INCLUDE "^(Interface|Install)" +) +set(CTEST_TEST_TIMEOUT 300) +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/gh-actions/macos-setup.sh b/scripts/ci/gh-actions/macos-setup.sh index 41c16f67eb..ee6271c261 100755 --- a/scripts/ci/gh-actions/macos-setup.sh +++ b/scripts/ci/gh-actions/macos-setup.sh @@ -1,29 +1,27 @@ #!/bin/bash echo "Setting up default XCode version" -case "$GH_YML_JOBNAME" in - *xcode941*) - sudo xcode-select --switch /Applications/Xcode_9.4.1.app - ;; - *xcode103*) - sudo xcode-select --switch /Applications/Xcode_10.3.app - ;; - *xcode111*) - sudo xcode-select --switch /Applications/Xcode_11.1.app - ;; - *) - echo " Unknown macOS image. Using defaults." - ;; -esac +if [ -z "${GH_YML_XCODE}" ] +then + echo "Error: GH_YML_XCODE veriable is not defined" + exit 1 +fi +if [ ! -d /Applications/Xcode_${GH_YML_XCODE}.app ] +then + echo "Error: XCode installation directory /Applications/Xcode_${GH_YML_XCODE}.app does not exist" + exit 2 +fi +sudo xcode-select --switch /Applications/Xcode_${GH_YML_XCODE}.app -echo "Installing CMake Nightly" -curl -L https://cmake.org/files/dev/cmake-3.16.20191218-g8262562-Darwin-x86_64.tar.gz | sudo tar -C /Applications --strip-components=1 -xzv +echo "Installing CMake" +brew install cmake -echo "Installing Kitware Ninja" +echo "Installing Ninja" brew install ninja echo "Installing GCC" brew install gcc +sudo ln -v -s $(which gfortran-11) /usr/local/bin/gfortran echo "Installing blosc compression" brew install c-blosc @@ -31,7 +29,7 @@ brew install c-blosc echo "Installing python3" brew install python numpy -if [[ "$GH_YML_JOBNAME" =~ .*openmpi.* ]] +if [[ "$GH_YML_JOBNAME" =~ -mpi ]] 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 c71f2be119..408d53cb87 100755 --- a/scripts/ci/gh-actions/run.sh +++ b/scripts/ci/gh-actions/run.sh @@ -25,7 +25,7 @@ fi export CI_BIN_DIR="${CI_ROOT_DIR}/${GH_YML_JOBNAME}" STEP=$1 -CTEST_SCRIPT=scripts/ci/cmake/ci-${GH_YML_JOBNAME}.cmake +CTEST_SCRIPT=scripts/ci/cmake-v2/ci-${GH_YML_JOBNAME}.cmake # Update and Test steps enable an extra step CTEST_STEP_ARGS="" @@ -49,7 +49,7 @@ export TMPDIR="${RUNNER_TEMP}/tmp" mkdir -p "${TMPDIR}" # OpenMPI specific setup and workarounds -if [[ "${GH_YML_JOBNAME}" =~ (openmpi|smpi) ]] +if [[ "${GH_YML_JOBNAME}" =~ mpi ]] then # Quiet some warnings from OpenMPI export OMPI_MCA_btl_base_warn_component_unused=0 @@ -78,6 +78,12 @@ fi # Make sure staging tests use localhost export ADIOS2_IP=127.0.0.1 +# Load any additional setup scripts +if [ -f scripts/ci/setup-run/ci-${GH_YML_JOBNAME}.sh ] +then + source scripts/ci/setup-run/ci-${GH_YML_JOBNAME}.sh +fi + echo "**********Env Begin**********" env | sort echo "**********Env End************" diff --git a/scripts/ci/images-v2/Dockerfile.ci-spack-el8-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-base new file mode 100644 index 0000000000..dacf5c584b --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-base @@ -0,0 +1,22 @@ +FROM almalinux/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 curl file gcc-c++ gcc git gnupg2 gzip \ + make patch tcl unzip which xz patchelf diffutils tar Lmod \ + python3 python3-pip +RUN dnf clean all + +RUN git clone https://github.com/spack/spack.git /opt/spack +COPY packages.yaml.base /etc/spack/packages.yaml +COPY modules.yaml /etc/spack/modules.yaml + +RUN . /opt/spack/share/spack/setup-env.sh && \ + spack compiler find --scope system && \ + spack spec zlib && \ + spack clean -a && \ + 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 new file mode 100644 index 0000000000..efeb3a087a --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-clang13-base @@ -0,0 +1,45 @@ +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-gcc10-base b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc10-base new file mode 100644 index 0000000000..0008b1b548 --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc10-base @@ -0,0 +1,17 @@ +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 new file mode 100644 index 0000000000..3a5d7ee14e --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc11-base @@ -0,0 +1,17 @@ +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 new file mode 100644 index 0000000000..515aaa3b75 --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc8-base @@ -0,0 +1,11 @@ +FROM ornladios/adios2:ci-spack-el8-base + +# 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 new file mode 100644 index 0000000000..2655bd362e --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-gcc9-base @@ -0,0 +1,17 @@ +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 new file mode 100644 index 0000000000..964e767aba --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-icc-base @@ -0,0 +1,14 @@ +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 new file mode 100644 index 0000000000..08a4992d06 --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-intel-base @@ -0,0 +1,13 @@ +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 new file mode 100644 index 0000000000..d39f9d5124 --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-leaf @@ -0,0 +1,40 @@ +ARG COMPILER_IMG_BASE +FROM ornladios/adios2:ci-spack-el8-${COMPILER_IMG_BASE}-base + +ARG EXTRA_VARIANTS +RUN sed "s|variants: +blosc|variants: ${EXTRA_VARIANTS} +blosc|" \ + -i /etc/spack/packages.yaml && \ + sed "s|variants: api=|variants: ${EXTRA_VARIANTS} api=|" \ + -i /etc/spack/packages.yaml + +# Build dependencies +ARG COMPILER_SPACK_ID +RUN . /etc/profile.d/modules.sh && \ + . /opt/spack/share/spack/setup-env.sh && \ + spack install \ + --fail-fast \ + -v \ + -j$(grep -c '^processor' /proc/cpuinfo) \ + libsodium%${COMPILER_SPACK_ID} && \ + spack install \ + --fail-fast \ + -v \ + -j$(grep -c '^processor' /proc/cpuinfo) \ + --only dependencies \ + adios2%${COMPILER_SPACK_ID} ^rhash%gcc && \ + spack clean -a + +# Setup modules +RUN . /opt/spack/share/spack/setup-env.sh && \ + spack env create --without-view adios2-ci && \ + spack -e adios2-ci add $(spack find --format "/{hash}") && \ + spack -e adios2-ci install && \ + rm -rf /root/.spack && \ + spack env activate adios2-ci && \ + spack env deactivate && \ + spack -e adios2-ci env loads + +# Setup default login environment +RUN echo 'source /opt/spack/share/spack/setup-env.sh' > /etc/profile.d/zz-adios2-ci-env.sh && \ + echo 'module use ${SPACK_ROOT}/share/spack/modules/linux-almalinux8-haswell' >> /etc/profile.d/zz-adios2-ci-env.sh && \ + echo 'source ${SPACK_ROOT}/var/spack/environments/adios2-ci/loads' >> /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 new file mode 100644 index 0000000000..f5cc2e74b7 --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-nvhpc222-leaf @@ -0,0 +1,38 @@ +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 new file mode 100644 index 0000000000..d2e71c99fe --- /dev/null +++ b/scripts/ci/images-v2/Dockerfile.ci-spack-el8-oneapi-base @@ -0,0 +1,9 @@ +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/build-base.sh b/scripts/ci/images-v2/build-base.sh new file mode 100755 index 0000000000..19a81e99cf --- /dev/null +++ b/scripts/ci/images-v2/build-base.sh @@ -0,0 +1,14 @@ +#!/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/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 new file mode 100755 index 0000000000..36ef314aaf --- /dev/null +++ b/scripts/ci/images-v2/build-clang-base.sh @@ -0,0 +1,15 @@ +#!/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 new file mode 100755 index 0000000000..881dfc7ef7 --- /dev/null +++ b/scripts/ci/images-v2/build-clang.sh @@ -0,0 +1,8 @@ +#!/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-functions.sh b/scripts/ci/images-v2/build-functions.sh new file mode 100644 index 0000000000..9805c7302e --- /dev/null +++ b/scripts/ci/images-v2/build-functions.sh @@ -0,0 +1,73 @@ +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 new file mode 100755 index 0000000000..3f709423ee --- /dev/null +++ b/scripts/ci/images-v2/build-gcc-base.sh @@ -0,0 +1,18 @@ +#!/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 new file mode 100755 index 0000000000..86fa959cb1 --- /dev/null +++ b/scripts/ci/images-v2/build-gcc.sh @@ -0,0 +1,30 @@ +#!/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}-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=gcc${ver} --build-arg EXTRA_VARIANTS=~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=gcc${ver} --build-arg EXTRA_VARIANTS=+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 new file mode 100755 index 0000000000..264496d485 --- /dev/null +++ b/scripts/ci/images-v2/build-intel-base.sh @@ -0,0 +1,36 @@ +#!/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 new file mode 100755 index 0000000000..7c80d6f9b9 --- /dev/null +++ b/scripts/ci/images-v2/build-intel.sh @@ -0,0 +1,13 @@ +#!/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-nvhpc.sh b/scripts/ci/images-v2/build-nvhpc.sh new file mode 100755 index 0000000000..586e660439 --- /dev/null +++ b/scripts/ci/images-v2/build-nvhpc.sh @@ -0,0 +1,25 @@ +#!/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.sh b/scripts/ci/images-v2/build.sh new file mode 100755 index 0000000000..b82cbed7ad --- /dev/null +++ b/scripts/ci/images-v2/build.sh @@ -0,0 +1,135 @@ +#!/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/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 new file mode 100644 index 0000000000..bc71576db0 --- /dev/null +++ b/scripts/ci/images-v2/gcc-toolset-module.tcl @@ -0,0 +1,10 @@ +#%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 new file mode 100644 index 0000000000..b908a05880 --- /dev/null +++ b/scripts/ci/images-v2/modules.yaml @@ -0,0 +1,9 @@ +modules: + enable: + - tcl + tcl: + hash_length: 0 + all: + autoload: 'direct' + projections: + all: '{name}/{version}' diff --git a/scripts/ci/images-v2/oneAPI.repo b/scripts/ci/images-v2/oneAPI.repo new file mode 100644 index 0000000000..ba35b673e6 --- /dev/null +++ b/scripts/ci/images-v2/oneAPI.repo @@ -0,0 +1,7 @@ +[oneAPI] +name=IntelĀ® oneAPI repository +baseurl=https://yum.repos.intel.com/oneapi +enabled=1 +gpgcheck=1 +repo_gpgcheck=1 +gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB diff --git a/scripts/ci/images-v2/packages.yaml.base b/scripts/ci/images-v2/packages.yaml.base new file mode 100644 index 0000000000..3369956106 --- /dev/null +++ b/scripts/ci/images-v2/packages.yaml.base @@ -0,0 +1,10 @@ +packages: + all: + target: [haswell] + cmake: + variants: ~ownlibs + adios2: + variants: +blosc +bzip2 +zfp +sz +png +sst +dataman +ssc +hdf5 +python +fortran + hdf5: + variants: api=default + version: ['1.13.0:'] diff --git a/scripts/ci/setup-run/ci-el8-gcc10-mpi.sh b/scripts/ci/setup-run/ci-el8-gcc10-mpi.sh new file mode 100644 index 0000000000..ac18cc6b01 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-gcc10-mpi.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-gcc10.sh diff --git a/scripts/ci/setup-run/ci-el8-gcc10-serial.sh b/scripts/ci/setup-run/ci-el8-gcc10-serial.sh new file mode 100644 index 0000000000..ac18cc6b01 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-gcc10-serial.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-gcc10.sh diff --git a/scripts/ci/setup-run/ci-el8-gcc10.sh b/scripts/ci/setup-run/ci-el8-gcc10.sh new file mode 100644 index 0000000000..82ecc2b734 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-gcc10.sh @@ -0,0 +1 @@ +module load gcc-10 diff --git a/scripts/ci/setup-run/ci-el8-gcc11-mpi.sh b/scripts/ci/setup-run/ci-el8-gcc11-mpi.sh new file mode 100644 index 0000000000..baf8736e3c --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-gcc11-mpi.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-gcc11.sh diff --git a/scripts/ci/setup-run/ci-el8-gcc11-serial.sh b/scripts/ci/setup-run/ci-el8-gcc11-serial.sh new file mode 100644 index 0000000000..baf8736e3c --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-gcc11-serial.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-gcc11.sh diff --git a/scripts/ci/setup-run/ci-el8-gcc11.sh b/scripts/ci/setup-run/ci-el8-gcc11.sh new file mode 100644 index 0000000000..d18168dda5 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-gcc11.sh @@ -0,0 +1 @@ +module load gcc-11 diff --git a/scripts/ci/setup-run/ci-el8-gcc8-mpi.sh b/scripts/ci/setup-run/ci-el8-gcc8-mpi.sh new file mode 100644 index 0000000000..5da813b121 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-gcc8-mpi.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-gcc8.sh diff --git a/scripts/ci/setup-run/ci-el8-gcc8-serial.sh b/scripts/ci/setup-run/ci-el8-gcc8-serial.sh new file mode 100644 index 0000000000..5da813b121 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-gcc8-serial.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-gcc8.sh diff --git a/scripts/ci/setup-run/ci-el8-gcc8.sh b/scripts/ci/setup-run/ci-el8-gcc8.sh new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scripts/ci/setup-run/ci-el8-gcc9-mpi.sh b/scripts/ci/setup-run/ci-el8-gcc9-mpi.sh new file mode 100644 index 0000000000..44d7310ce6 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-gcc9-mpi.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-gcc9.sh diff --git a/scripts/ci/setup-run/ci-el8-gcc9-serial.sh b/scripts/ci/setup-run/ci-el8-gcc9-serial.sh new file mode 100644 index 0000000000..44d7310ce6 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-gcc9-serial.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-gcc9.sh diff --git a/scripts/ci/setup-run/ci-el8-gcc9.sh b/scripts/ci/setup-run/ci-el8-gcc9.sh new file mode 100644 index 0000000000..00a701fed4 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-gcc9.sh @@ -0,0 +1 @@ +module load gcc-9 diff --git a/scripts/ci/setup-run/ci-el8-icc-mpi.sh b/scripts/ci/setup-run/ci-el8-icc-mpi.sh new file mode 100644 index 0000000000..2196e9e73f --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-icc-mpi.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-icc.sh diff --git a/scripts/ci/setup-run/ci-el8-icc-serial.sh b/scripts/ci/setup-run/ci-el8-icc-serial.sh new file mode 100644 index 0000000000..2196e9e73f --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-icc-serial.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-icc.sh diff --git a/scripts/ci/setup-run/ci-el8-icc.sh b/scripts/ci/setup-run/ci-el8-icc.sh new file mode 100644 index 0000000000..57c0ff934c --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-icc.sh @@ -0,0 +1 @@ +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 new file mode 100644 index 0000000000..14b096a909 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-nvhpc222-mpi.sh @@ -0,0 +1,2 @@ +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-serial.sh b/scripts/ci/setup-run/ci-el8-nvhpc222-serial.sh new file mode 100644 index 0000000000..bc39dc5069 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-nvhpc222-serial.sh @@ -0,0 +1 @@ +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 new file mode 100644 index 0000000000..314ad72a51 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-nvhpc222.sh @@ -0,0 +1 @@ +module load nvhpc diff --git a/scripts/ci/setup-run/ci-el8-oneapi-mpi.sh b/scripts/ci/setup-run/ci-el8-oneapi-mpi.sh new file mode 100644 index 0000000000..e8811e9d20 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-oneapi-mpi.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-oneapi.sh diff --git a/scripts/ci/setup-run/ci-el8-oneapi-serial.sh b/scripts/ci/setup-run/ci-el8-oneapi-serial.sh new file mode 100644 index 0000000000..e8811e9d20 --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-oneapi-serial.sh @@ -0,0 +1 @@ +source $(dirname $(readlink -f ${BASH_SOURCE}))/ci-el8-oneapi.sh diff --git a/scripts/ci/setup-run/ci-el8-oneapi.sh b/scripts/ci/setup-run/ci-el8-oneapi.sh new file mode 100644 index 0000000000..cf19fa4b7d --- /dev/null +++ b/scripts/ci/setup-run/ci-el8-oneapi.sh @@ -0,0 +1,2 @@ +module load icc +module load compiler diff --git a/scripts/dashboard/common.cmake b/scripts/dashboard/common.cmake index e4284afa81..012d2cf11e 100644 --- a/scripts/dashboard/common.cmake +++ b/scripts/dashboard/common.cmake @@ -420,7 +420,7 @@ if(dashboard_do_configure) if(COMMAND dashboard_hook_configure) dashboard_hook_configure() endif() - message("Calling ctest_configure)") + message("Calling ctest_configure") ctest_configure(${dashboard_configure_args}) endif() if(dashboard_do_submit) diff --git a/source/adios2/core/Attribute.tcc b/source/adios2/core/Attribute.tcc index 1570882d1b..e7c403aa01 100644 --- a/source/adios2/core/Attribute.tcc +++ b/source/adios2/core/Attribute.tcc @@ -34,7 +34,7 @@ struct Pad; template struct Pad { - static void Zero(T &arg) {} + static void Zero(T & /*arg*/) {} }; template diff --git a/source/adios2/core/IO.cpp b/source/adios2/core/IO.cpp index e082fac6b0..70cba588cf 100644 --- a/source/adios2/core/IO.cpp +++ b/source/adios2/core/IO.cpp @@ -143,6 +143,7 @@ std::unordered_map::const_iterator FactoryLookup(std::string const &name) { std::lock_guard factoryGuard(FactoryMutex); + (void)factoryGuard; return Factory.find(name); } diff --git a/source/adios2/core/VariableBase.cpp b/source/adios2/core/VariableBase.cpp index 45dcf63f71..186f69e1ce 100644 --- a/source/adios2/core/VariableBase.cpp +++ b/source/adios2/core/VariableBase.cpp @@ -54,9 +54,9 @@ bool VariableBase::IsCUDAPointer(void *ptr) cudaPointerAttributes attr; cudaPointerGetAttributes(&attr, ptr); return attr.type == cudaMemoryTypeDevice; -#endif - +#else return false; +#endif } size_t VariableBase::TotalSize() const noexcept diff --git a/source/adios2/engine/bp5/BP5Writer_TwoLevelShm.cpp b/source/adios2/engine/bp5/BP5Writer_TwoLevelShm.cpp index 6fc96f4b58..9af5652101 100644 --- a/source/adios2/engine/bp5/BP5Writer_TwoLevelShm.cpp +++ b/source/adios2/engine/bp5/BP5Writer_TwoLevelShm.cpp @@ -196,7 +196,7 @@ void BP5Writer::SendDataToAggregator(format::BufferV *Data) std::vector DataVec = Data->DataVec(); size_t nBlocks = DataVec.size(); - size_t sent = 0; + // size_t sent = 0; size_t block = 0; size_t temp_offset = 0; while (block < nBlocks) @@ -241,7 +241,7 @@ void BP5Writer::SendDataToAggregator(format::BufferV *Data) break; } } - sent += b->actual_size; + // sent += b->actual_size; /*if (m_RankMPI >= 42) { diff --git a/source/adios2/engine/bp5/BP5Writer_TwoLevelShm_Async.cpp b/source/adios2/engine/bp5/BP5Writer_TwoLevelShm_Async.cpp index 58161da3c7..2074222074 100644 --- a/source/adios2/engine/bp5/BP5Writer_TwoLevelShm_Async.cpp +++ b/source/adios2/engine/bp5/BP5Writer_TwoLevelShm_Async.cpp @@ -81,7 +81,7 @@ void BP5Writer::AsyncWriteThread_TwoLevelShm_SendDataToAggregator( std::vector DataVec = Data->DataVec(); size_t nBlocks = DataVec.size(); - size_t sent = 0; + // size_t sent = 0; size_t block = 0; size_t temp_offset = 0; while (block < nBlocks) @@ -126,7 +126,7 @@ void BP5Writer::AsyncWriteThread_TwoLevelShm_SendDataToAggregator( break; } } - sent += b->actual_size; + // sent += b->actual_size; a->UnlockProducerBuffer(); } } diff --git a/source/adios2/engine/ssc/SscReader.cpp b/source/adios2/engine/ssc/SscReader.cpp index ca37d61c4c..e8461258bc 100644 --- a/source/adios2/engine/ssc/SscReader.cpp +++ b/source/adios2/engine/ssc/SscReader.cpp @@ -448,7 +448,7 @@ void SscReader::CalculatePosition(ssc::BlockVecVec &bvv, for (int rank = 0; rank < static_cast(bvv.size()); ++rank) { bool hasOverlap = false; - for (const auto r : allRanks) + for (const auto &r : allRanks) { if (r.first == rank) { diff --git a/source/adios2/engine/ssc/SscWriter.cpp b/source/adios2/engine/ssc/SscWriter.cpp index 0e0459727c..a51cd53f3d 100644 --- a/source/adios2/engine/ssc/SscWriter.cpp +++ b/source/adios2/engine/ssc/SscWriter.cpp @@ -290,7 +290,7 @@ void SscWriter::CalculatePosition(ssc::BlockVecVec &writerVecVec, for (int rank = 0; rank < static_cast(writerVecVec.size()); ++rank) { bool hasOverlap = false; - for (const auto r : currentReaderOverlapWriterRanks) + for (const auto &r : currentReaderOverlapWriterRanks) { if (r.first == rank) { diff --git a/source/adios2/helper/adiosMemory.cpp b/source/adios2/helper/adiosMemory.cpp index 2558c883a1..b1e5b2342a 100644 --- a/source/adios2/helper/adiosMemory.cpp +++ b/source/adios2/helper/adiosMemory.cpp @@ -50,6 +50,8 @@ void CopyPayloadStride(const char *src, const size_t payloadStride, char *dest, std::copy(src, src + payloadStride, dest); } #else + (void)endianReverse; + (void)destType; std::copy(src, src + payloadStride, dest); #endif } diff --git a/source/adios2/operator/compress/CompressSZ.cpp b/source/adios2/operator/compress/CompressSZ.cpp index c8b78a7c30..c2fe37468b 100644 --- a/source/adios2/operator/compress/CompressSZ.cpp +++ b/source/adios2/operator/compress/CompressSZ.cpp @@ -368,7 +368,7 @@ size_t CompressSZ::DecompressV1(const char *bufferIn, const size_t sizeIn, // Get type info int dtype = 0; - size_t dataTypeSize; + size_t dataTypeSize = 0; if (type == helper::GetDataType() || type == helper::GetDataType>()) { @@ -437,7 +437,7 @@ size_t CompressSZ::DecompressV2(const char *bufferIn, const size_t sizeIn, // Get type info int dtype = 0; - size_t dataTypeSize; + size_t dataTypeSize = 0; if (type == helper::GetDataType() || type == helper::GetDataType>()) { diff --git a/source/adios2/toolkit/format/bp5/BP5Serializer.cpp b/source/adios2/toolkit/format/bp5/BP5Serializer.cpp index dae36615d6..194cb1e63d 100644 --- a/source/adios2/toolkit/format/bp5/BP5Serializer.cpp +++ b/source/adios2/toolkit/format/bp5/BP5Serializer.cpp @@ -583,7 +583,6 @@ static void GetMinMax(const void *Data, size_t ElemCount, const DataType Type, else if (MemSpace == MemorySpace::CUDA && \ Type == helper::GetDataType()) \ { \ - const size_t size = ElemCount * sizeof(T); \ const T *values = (const T *)Data; \ helper::CUDAMinMax(values, ElemCount, MinMax.MinUnion.field_##N, \ MinMax.MaxUnion.field_##N); \ diff --git a/source/adios2/toolkit/sst/dp/rdma_dp.c b/source/adios2/toolkit/sst/dp/rdma_dp.c index d54480b7cd..1b74d41ebf 100644 --- a/source/adios2/toolkit/sst/dp/rdma_dp.c +++ b/source/adios2/toolkit/sst/dp/rdma_dp.c @@ -115,7 +115,7 @@ static void init_fabric(struct fabric_state *fabric, struct _SstParams *Params, CP_Services Svcs, void *CP_Stream) { struct fi_info *hints, *info, *originfo, *useinfo; - struct fi_av_attr av_attr = {0}; + struct fi_av_attr av_attr = {FI_AV_UNSPEC}; struct fi_cq_attr cq_attr = {0}; char *ifname; int result; diff --git a/source/utils/adios_iotest/adiosStream.cpp b/source/utils/adios_iotest/adiosStream.cpp index 934d00c5ee..281c726aad 100644 --- a/source/utils/adios_iotest/adiosStream.cpp +++ b/source/utils/adios_iotest/adiosStream.cpp @@ -367,7 +367,7 @@ void adiosStream::writeADIOS(CommandWrite *cmdW, Config &cfg, MPI_Barrier(comm); timeStart = MPI_Wtime(); engine.BeginStep(); - for (const auto ov : cmdW->variables) + for (const auto &ov : cmdW->variables) { putADIOSArray(ov); } diff --git a/source/utils/adios_iotest/adios_iotest.cpp b/source/utils/adios_iotest/adios_iotest.cpp index 415487e5fa..8bbed46b71 100644 --- a/source/utils/adios_iotest/adios_iotest.cpp +++ b/source/utils/adios_iotest/adios_iotest.cpp @@ -200,7 +200,7 @@ int main(int argc, char *argv[]) std::cout << "App " + std::to_string(settings.appId) + " Step " << step << ": " << std::endl; } - for (const auto cmd : cfg.commands) + for (const auto &cmd : cfg.commands) { if (!cmd->conditionalStream.empty() && cfg.condMap.at(cmd->conditionalStream) != @@ -248,8 +248,8 @@ int main(int argc, char *argv[]) auto cmdS = dynamic_cast(cmd.get()); std::chrono::high_resolution_clock::time_point start = std::chrono::high_resolution_clock::now(); - auto sleeptime = - std::chrono::microseconds(cmdS->busyTime_us); + // auto sleeptime = + // std::chrono::microseconds(cmdS->busyTime_us); if (!settings.myRank && settings.verbose) { double t = diff --git a/source/utils/adios_iotest/processConfig.cpp b/source/utils/adios_iotest/processConfig.cpp index a7b86532a6..e3b373872c 100644 --- a/source/utils/adios_iotest/processConfig.cpp +++ b/source/utils/adios_iotest/processConfig.cpp @@ -319,7 +319,7 @@ void printConfig(const Config &cfg) } std::cout << " Commands :" << std::endl; - for (const auto cmd : cfg.commands) + for (const auto &cmd : cfg.commands) { if (!cmd->conditionalStream.empty()) { @@ -408,7 +408,7 @@ void printVarMaps(Config &cfg, std::string &groupName) void globalChecks(const Config &cfg, const Settings &settings) { - for (const auto cmd : cfg.commands) + for (const auto &cmd : cfg.commands) { if (!cmd->conditionalStream.empty()) { diff --git a/testing/adios2/engine/bp/TestBPWriteReadBlockInfo.cpp b/testing/adios2/engine/bp/TestBPWriteReadBlockInfo.cpp index 854606a663..48c20e5017 100644 --- a/testing/adios2/engine/bp/TestBPWriteReadBlockInfo.cpp +++ b/testing/adios2/engine/bp/TestBPWriteReadBlockInfo.cpp @@ -55,6 +55,7 @@ void CheckStepsBlockInfo1D_C(adios2_variable *var, adios2_varinfo *vi, const size_t NSteps, const size_t nproc, const size_t Nx) { + (void)NSteps; EXPECT_EQ(vi->nblocks, nproc); adios2_shapeid shapeid; adios2_variable_shapeid(&shapeid, var); diff --git a/testing/adios2/engine/staging-common/TestSupp.cmake b/testing/adios2/engine/staging-common/TestSupp.cmake index 183224e845..ed7aa98d13 100644 --- a/testing/adios2/engine/staging-common/TestSupp.cmake +++ b/testing/adios2/engine/staging-common/TestSupp.cmake @@ -261,7 +261,7 @@ function(add_common_test basename engine) endif() set (timeout "${${basename}_TIMEOUT}") if ("${timeout}" STREQUAL "") - set (timeout "30") + set (timeout "60") endif() set_tests_properties(${testname} PROPERTIES diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index 2e93ca1693..78db3ab486 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -1,10 +1,10 @@ # Disable warnings in thirdparty code if(CMAKE_C_COMPILER_ID MATCHES - "^(GNU|Clang|AppleClang|XLClang|XL|VisualAge|SunPro|HP|Intel|PGI|NVIDIA)$") + "^(GNU|Clang|AppleClang|XLClang|XL|VisualAge|SunPro|HP|Intel|IntelLLVM|PGI|NVIDIA|NVHPC)$") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") endif() if(CMAKE_CXX_COMPILER_ID MATCHES - "^(GNU|Clang|AppleClang|XLClang|XL|VisualAge|SunPro|HP|Intel|PGI|NVIDIA)$") + "^(GNU|Clang|AppleClang|XLClang|XL|VisualAge|SunPro|HP|Intel|IntelLLVM|PGI|NVIDIA|NVHPC)$") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") endif()