From ff4d8c5d7665c0038d33b02089a6b24ac188f268 Mon Sep 17 00:00:00 2001 From: "H. Joe Lee" Date: Sun, 17 Mar 2024 19:49:32 -0500 Subject: [PATCH] ci: ninja nvhpc close #168 --- .github/workflows/lin-ninja-nvhpc-f-p.yml | 58 +++++++++++++++++++++++ .github/workflows/lin-nvhpc-f-p.yml | 2 +- .github/workflows/lin-nvhpc.yml | 6 +-- WATCHME.md | 4 +- 4 files changed, 63 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/lin-ninja-nvhpc-f-p.yml diff --git a/.github/workflows/lin-ninja-nvhpc-f-p.yml b/.github/workflows/lin-ninja-nvhpc-f-p.yml new file mode 100644 index 00000000000..d2400d605d4 --- /dev/null +++ b/.github/workflows/lin-ninja-nvhpc-f-p.yml @@ -0,0 +1,58 @@ +name: lin ninja nvhpc f p + +on: + workflow_dispatch: + push: + pull_request: + branches: [ develop ] + paths-ignore: + - '.github/CODEOWNERS' + - '.github/FUNDING.yml' + - 'doc/**' + - 'release_docs/**' + - 'ACKNOWLEDGEMENTS' + - 'COPYING**' + - '**.md' + +# Using concurrency to cancel any in-progress job or run +concurrency: + group: ${{ github.workflow }}-${{ github.sha || github.event.pull_request.number }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Install System dependencies + run: | + sudo apt update + sudo apt install -y cmake libzip-dev ninja-build + - name: Install NVHPC + run: | + curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg + echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list + sudo apt-get update -y + sudo apt-get install -y nvhpc-24-3 + - name: Get Sources + uses: actions/checkout@v4.1.1 + - name: Test HDF5 + env: + FC: nvfortran + CC: nvc + FCFLAGS: -fPIC + run: | + export NVHPCSDK=/opt/nvidia/hpc_sdk + export OMPI_CXX=/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/compilers/bin/nvc++ + export OMPI_CC=/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/compilers/bin/nvc + export OMPI_FC=/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/compilers/bin/nvfortran + export LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/cuda/12.3/lib64:/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/compilers/lib + export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/comm_libs/openmpi4/bin:/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/compilers/bin:$PATH + cmake -B build -G Ninja \ + -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ + -DHDF5_ENABLE_PARALLEL:BOOL=ON \ + -DHDF5_BUILD_FORTRAN:BOOL=ON + cmake --build build + ctest --test-dir build --output-on-failure diff --git a/.github/workflows/lin-nvhpc-f-p.yml b/.github/workflows/lin-nvhpc-f-p.yml index 3972dd6a29d..25e39687419 100644 --- a/.github/workflows/lin-nvhpc-f-p.yml +++ b/.github/workflows/lin-nvhpc-f-p.yml @@ -28,7 +28,7 @@ jobs: - name: Install System dependencies run: | sudo apt update - sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen openssl libtool libtool-bin build-essential + sudo apt install -y cmake libzip-dev - name: Install NVHPC run: | curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg diff --git a/.github/workflows/lin-nvhpc.yml b/.github/workflows/lin-nvhpc.yml index f803873eec1..d00a013c9a5 100644 --- a/.github/workflows/lin-nvhpc.yml +++ b/.github/workflows/lin-nvhpc.yml @@ -14,7 +14,6 @@ on: - 'COPYING**' - '**.md' -# Using concurrency to cancel any in-progress job or run concurrency: group: ${{ github.workflow }}-${{ github.sha || github.event.pull_request.number }} cancel-in-progress: true @@ -29,7 +28,7 @@ jobs: - name: Install System dependencies run: | sudo apt update - sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen openssl libtool libtool-bin build-essential + sudo apt install -y cmake libzip-dev - name: Install NVHPC run: | curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg @@ -50,7 +49,6 @@ jobs: export OMPI_FC=/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/compilers/bin/nvfortran export LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/cuda/12.3/lib64:/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/compilers/lib export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/comm_libs/openmpi4/bin:/opt/nvidia/hpc_sdk/Linux_x86_64/24.3/compilers/bin:$PATH - cmake -B build -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_PARALLEL:BOOL=ON -DHDF5_BUILD_FORTRAN:BOOL=ON - cat build/CMakeCache.txt + cmake -B build -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF cmake --build build ctest --test-dir build --output-on-failure diff --git a/WATCHME.md b/WATCHME.md index f06e18fd84a..a46de7a8251 100644 --- a/WATCHME.md +++ b/WATCHME.md @@ -28,7 +28,7 @@ | Test | Status | | ------| ------ | -| Ninja | [![win ninja icx](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx.yml) [![win ninja icx ifx p sf](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f-p-sf.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f-p-sf.yml) | +| Ninja | [![lin ninja nvhpc f p](https://github.com/hyoklee/hdf5/actions/workflows/lin-ninja-nvhpc-f-p.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-ninja-nvhpc-f-p.yml) [![win ninja icx](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx.yml) [![win ninja icx ifx p sf](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f-p-sf.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f-p-sf.yml) | | Spack | [![lin spack f ompi](https://github.com/hyoklee/hdf5/actions/workflows/lin-spack-f-ompi.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-spack-f-ompi.yml) [![lin spack h5py](https://github.com/hyoklee/hdf5/actions/workflows/lin-spack-h5py.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-spack-h5py.yml) [![mac spack h5py](https://github.com/hyoklee/hdf5/actions/workflows/mac-spack-h5py.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/mac-spack-h5py.yml) | | Xcode | [![mac Xcode](https://github.com/hyoklee/hdf5/actions/workflows/mac-xcode.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/mac-xcode.yml) | @@ -43,7 +43,7 @@ | gcc_min | [![lin gcc_min](https://github.com/hyoklee/hdf5/actions/workflows/lin-gcc_min.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-gcc_min.yml) | | icx | [![linux CMake icx](https://github.com/hyoklee/hdf5/actions/workflows/linux-icx.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/linux-icx.yml) [![lin auto icx](https://github.com/hyoklee/hdf5/actions/workflows/lin-auto-icx.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-auto-icx.yml) [![linux autotools icx debug](https://github.com/hyoklee/hdf5/actions/workflows/linux-icx-auto-debug.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/linux-icx-auto-debug.yml) [![linux CMake icx sf](https://github.com/hyoklee/hdf5/actions/workflows/linux-icx-sf.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/linux-icx-sf.yml) [![linux autotools icx sf debug](https://github.com/hyoklee/hdf5/actions/workflows/linux-icx-auto-sf-debug.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/linux-icx-auto-sf-debug.yml) [![win ninja icx](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx.yml) [![windows ninja icx p](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-p.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-p.yml) | | ifx | [![windows ninja icx ifx](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f.yml) [![win ninja icx ifx sh](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f-sh.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f-sh.yml) [![windows ninja icx ifx p](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f-p.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f-p.yml) [![win ninja icx ifx p sf](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f-p-sf.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/win-ninja-icx-f-p-sf.yml) | -| nvhpc | [![lin nvhpc](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc.yml) [![lin nvhpc f p](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc-f-p.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc-f-p.yml) [![lin auto nvhpc f sh p](https://github.com/hyoklee/hdf5/actions/workflows/lin-auto-nvhpc-f-sh-p.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-auto-nvhpc-f-sh-p.yml) [![lin nvhpc f p sf](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc-f-p-sf.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc-f-p-sf.yml) [![lin auto nvhpc f sh p sf](https://github.com/hyoklee/hdf5/actions/workflows/lin-auto-nvhpc-f-sh-p-sf.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-auto-nvhpc-f-sh-p-sf.yml) | +| nvhpc | [![lin nvhpc](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc.yml) [![lin nvhpc f p](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc-f-p.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc-f-p.yml) [![lin ninja nvhpc f p](https://github.com/hyoklee/hdf5/actions/workflows/lin-ninja-nvhpc-f-p.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-ninja-nvhpc-f-p.yml) [![lin auto nvhpc f sh p](https://github.com/hyoklee/hdf5/actions/workflows/lin-auto-nvhpc-f-sh-p.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-auto-nvhpc-f-sh-p.yml) [![lin nvhpc f p sf](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc-f-p-sf.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-nvhpc-f-p-sf.yml) [![lin auto nvhpc f sh p sf](https://github.com/hyoklee/hdf5/actions/workflows/lin-auto-nvhpc-f-sh-p-sf.yml/badge.svg)](https://github.com/hyoklee/hdf5/actions/workflows/lin-auto-nvhpc-f-sh-p-sf.yml) | ## Options