summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Joe Lee <hyoklee@hdfgroup.org>2023-09-14 16:33:02 (GMT)
committerGitHub <noreply@github.com>2023-09-14 16:33:02 (GMT)
commitffa4bdac0a686aa00705b72132c5e8948cfee9db (patch)
treecea5e4fbf5e0013dd039fb5d7abfe076628eda8e
parent75ba9ec7a695a334ac390911700b488da5b70fef (diff)
downloadhdf5-ffa4bdac0a686aa00705b72132c5e8948cfee9db.zip
hdf5-ffa4bdac0a686aa00705b72132c5e8948cfee9db.tar.gz
hdf5-ffa4bdac0a686aa00705b72132c5e8948cfee9db.tar.bz2
Add NVHPC 23.7 GitHub Actions (#3509)
* Add NVHPC 27.3 GitHub Actions * Address @derobins review
-rw-r--r--.github/workflows/linux-nvhpc-auto.yml58
-rw-r--r--.github/workflows/linux-nvhpc.yml56
2 files changed, 114 insertions, 0 deletions
diff --git a/.github/workflows/linux-nvhpc-auto.yml b/.github/workflows/linux-nvhpc-auto.yml
new file mode 100644
index 0000000..1281e97
--- /dev/null
+++ b/.github/workflows/linux-nvhpc-auto.yml
@@ -0,0 +1,58 @@
+name: linux autotools nvhpc
+
+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 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
+ - 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-23-7
+ - name: Get Sources
+ uses: actions/checkout@v4
+ - name: Test HDF5
+ env:
+ NPROCS: 2
+ run: |
+ export NVHPCSDK=/opt/nvidia/hpc_sdk
+ export OMPI_CXX=/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/compilers/bin/nvc++
+ export OMPI_CC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/compilers/bin/nvc
+ export OMPI_FC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/compilers/bin/nvfortran
+ export LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/compilers/lib
+ export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/comm_libs/openmpi4/bin:/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/compilers/bin:$PATH
+ export DESTDIR=/tmp
+ ./autogen.sh
+ ./configure CC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/comm_libs/openmpi4/bin/mpicc FC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/comm_libs/openmpi4/bin/mpifort FCFLAGS="-fPIC -fortranlibs" --enable-fortran --enable-shared --enable-parallel
+ cat config.log
+ make -j
+ make check -j
+ make install
+ make uninstall
diff --git a/.github/workflows/linux-nvhpc.yml b/.github/workflows/linux-nvhpc.yml
new file mode 100644
index 0000000..7a24b07
--- /dev/null
+++ b/.github/workflows/linux-nvhpc.yml
@@ -0,0 +1,56 @@
+name: linux CMake nvhpc
+
+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 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
+ - 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-23-7
+ - name: Get Sources
+ uses: actions/checkout@v4
+ - 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/23.7/compilers/bin/nvc++
+ export OMPI_CC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/compilers/bin/nvc
+ export OMPI_FC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/compilers/bin/nvfortran
+ export LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/cuda/12.2/lib64:/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/compilers/lib
+ export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/comm_libs/openmpi4/bin:/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/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 --build build
+ ctest --test-dir build --output-on-failure