Skip to content

Commit

Permalink
Merge branch 'develop' into feature/new_datatypes
Browse files Browse the repository at this point in the history
  • Loading branch information
derobins authored Mar 16, 2024
2 parents 4320d92 + 6d85ea2 commit 844172a
Show file tree
Hide file tree
Showing 155 changed files with 877 additions and 483 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@ jobs:
name: "aocc ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- name: Get Sources
uses: actions/[email protected]

- name: Install Linux dependencies
- name: Install Dependencies
shell: bash
run: |
sudo apt update
Expand All @@ -28,6 +29,7 @@ jobs:
sudo apt install -y m4 flex bison cmake libzip-dev openssl build-essential
- name: Install AOCC 4.1.0
shell: bash
run: |
wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar
tar -xvf aocc-compiler-4.1.0.tar
Expand Down Expand Up @@ -74,7 +76,6 @@ jobs:
LDFLAGS="-L/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib \
-L/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib"
# BUILD
- name: Autotools Build
shell: bash
env:
Expand All @@ -84,8 +85,6 @@ jobs:
make -j3
working-directory: ${{ runner.workspace }}/build

# RUN TESTS
# NORMAL
- name: Autotools Run Tests
env:
NPROCS: 2
Expand All @@ -94,7 +93,6 @@ jobs:
make check -j
working-directory: ${{ runner.workspace }}/build

# INSTALL (note that this runs even when we don't run the tests)
- name: Autotools Install
env:
NPROCS: 2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@ jobs:
name: "aocc ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- name: Get Sources
uses: actions/[email protected]

- name: Install Linux dependencies
- name: Install Dependencies
shell: bash
run: |
sudo apt update
Expand All @@ -28,6 +29,7 @@ jobs:
sudo apt install -y m4 flex bison cmake libzip-dev openssl build-essential
- name: Install AOCC 4.1.0
shell: bash
run: |
wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar
tar -xvf aocc-compiler-4.1.0.tar
Expand Down Expand Up @@ -56,7 +58,7 @@ jobs:
make
make install
- name: CMake Configure with aocc
- name: CMake Configure
shell: bash
run: |
export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib
Expand All @@ -77,14 +79,12 @@ jobs:
$GITHUB_WORKSPACE
#cat src/libhdf5.settings
# BUILD
- name: CMake Build
shell: bash
run: |
cmake --build . --parallel 3 --config ${{ inputs.build_mode }}
working-directory: ${{ runner.workspace }}/build

# RUN TESTS
- name: CMake Run Tests
shell: bash
run: |
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/autotools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,14 @@ jobs:

call-release-auto-aocc:
name: "Autotools aocc Workflows"
uses: ./.github/workflows/aocc-ompi-auto.yml
uses: ./.github/workflows/aocc-auto.yml
with:
build_mode: "production"

call-release-auto-cygwin:
name: "Autotools Cygwin Workflows"
uses: ./.github/workflows/cygwin-auto.yml
with:
build_mode: "production"


11 changes: 9 additions & 2 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,14 @@ jobs:
build_mode: "Release"

call-release-cmake-aocc:
name: "CMake nvhpc Workflows"
uses: ./.github/workflows/aocc-ompi-cmake.yml
name: "CMake aocc Workflows"
uses: ./.github/workflows/aocc-cmake.yml
with:
build_mode: "Release"

call-release-cmake-cygwin:
name: "CMake Cygwin Workflows"
uses: ./.github/workflows/cygwin-cmake.yml
with:
build_mode: "Release"

62 changes: 62 additions & 0 deletions .github/workflows/cygwin-auto.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: hdf5 dev autotools cygwin

on:
workflow_call:
inputs:
build_mode:
description: "release vs. debug build"
required: true
type: string

permissions:
contents: read

jobs:
cygwin_build_and_test:
name: "cygwin ${{ inputs.build_mode }}"
runs-on: windows-latest
steps:
- name: Set git to use LF
run: |
git config --global core.autocrlf input
- name: Get Sources
uses: actions/[email protected]

- name: Install Cygwin
uses: cygwin/cygwin-install-action@master
with:
packages: autoconf automake make gcc-fortran libtool zlib-devel m4 flex bison perl

- name: Autotools Configure
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}'
run: |
export PATH=/usr/bin:$PATH
sh ./autogen.sh
mkdir build
cd build
../configure \
--enable-build-mode=${{ inputs.build_mode }} \
--enable-shared \
--enable-fortran
- name: Autotools Build
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}'
run: |
export PATH=/usr/bin:$PATH
cd build
make -j3
- name: Autotools Run Tests
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}'
run: |
export PATH=/usr/bin:$PATH
cd build
# make check -j ---- cache test fails

- name: Autotools Install
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}'
run: |
export PATH=/usr/bin:$PATH
cd build
make install
63 changes: 63 additions & 0 deletions .github/workflows/cygwin-cmake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: hdf5 dev CMake cygwin

on:
workflow_call:
inputs:
build_mode:
description: "release vs. debug build"
required: true
type: string

permissions:
contents: read

jobs:
cygwin_build_and_test:
name: "cygwin-${{ inputs.build_mode }}"
runs-on: windows-latest
steps:
- name: Set git to use LF
run: |
git config --global core.autocrlf input
- name: Get Sources
uses: actions/[email protected]

- name: Install Cygwin
uses: cygwin/cygwin-install-action@master
with:
packages: cmake gcc-fortran make ninja zlib-devel flex bison perl

- name: CMake Configure
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}'
run: |
export PATH=/usr/bin:$PATH
mkdir build
cd build
cmake -C ../config/cmake/cacheinit.cmake \
-G Ninja \
--log-level=VERBOSE \
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \
-DHDF5_BUILD_CPP_LIB:BOOL=OFF \
-DLIBAEC_USE_LOCALCONTENT=OFF \
-DZLIB_USE_LOCALCONTENT=OFF \
-DHDF5_BUILD_FORTRAN:BOOL=ON \
-DHDF5_BUILD_JAVA:BOOL=OFF \
..
- name: CMake Build
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}'
run: |
export PATH=/usr/bin:$PATH
cd build
cmake --build . --parallel 3 --config ${{ inputs.build_mode }}
- name: CMake Run Tests
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}'
run: |
export PATH=/usr/bin:$PATH
cd build
ctest . --parallel 2 -C ${{ inputs.build_mode }} -V
# ctest . --parallel 2 -C ${{ inputs.build_mode }} -V -R "FORTRAN|H5TEST"
83 changes: 36 additions & 47 deletions .github/workflows/intel-auto.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: hdf5 dev autotools icx CI
name: hdf5 dev autotools icx

on:
workflow_call:
Expand All @@ -12,49 +12,33 @@ permissions:
contents: read

jobs:
Intel_build_and_test:
name: "Intel ${{ inputs.build_mode }}"
intel_oneapi_linux:
name: "linux-oneapi ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- name: Get Sources
uses: actions/[email protected]

- name: Install Dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install autoconf automake libtool libtool-bin libaec-dev
- name: Add oneAPI to apt
shell: bash
run: |
cd /tmp
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo add-apt-repository -y "deb https://apt.repos.intel.com/oneapi all main"
- name: Install oneAPI dpcpp and fortran compiler
shell: bash
run: |
sudo apt update
sudo apt install -y intel-oneapi-compiler-dpcpp-cpp
sudo apt install -y intel-oneapi-compiler-fortran
sudo apt install -y intel-oneapi-mpi-devel
sudo apt-get install doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
echo "CC=icx" >> $GITHUB_ENV
echo "CXX=icpx" >> $GITHUB_ENV
echo "FC=ifx" >> $GITHUB_ENV
- name: Install oneAPI MKL library
shell: bash
run: |
sudo apt install -y intel-oneapi-mkl-devel
- name: Install oneAPI (Linux)
uses: fortran-lang/setup-fortran@v1
id: setup-fortran
with:
compiler: intel
version: '2024.0'

- name: Autotools Configure
shell: bash
env:
FC: ${{ steps.setup-fortran.outputs.fc }}
CC: ${{ steps.setup-fortran.outputs.cc }}
CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
source /opt/intel/oneapi/setvars.sh
export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin
sh ./autogen.sh
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
Expand All @@ -63,37 +47,42 @@ jobs:
--enable-shared \
--disable-fortran
# BUILD
- name: Autotools Build
shell: bash
env:
FC: ${{ steps.setup-fortran.outputs.fc }}
CC: ${{ steps.setup-fortran.outputs.cc }}
CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
source /opt/intel/oneapi/setvars.sh
export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin
make -j3
working-directory: ${{ runner.workspace }}/build

# RUN TESTS
# NORMAL
- name: Autotools Run Tests
shell: bash
env:
FC: ${{ steps.setup-fortran.outputs.fc }}
CC: ${{ steps.setup-fortran.outputs.cc }}
CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
source /opt/intel/oneapi/setvars.sh
export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin
export SYCL_DEVICE_FILTER=opencl.cpu
make check -j2
working-directory: ${{ runner.workspace }}/build

# INSTALL (note that this runs even when we don't run the tests)
- name: Autotools Install
shell: bash
env:
FC: ${{ steps.setup-fortran.outputs.fc }}
CC: ${{ steps.setup-fortran.outputs.cc }}
CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
source /opt/intel/oneapi/setvars.sh
export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin
export SYCL_DEVICE_FILTER=opencl.cpu
make install
working-directory: ${{ runner.workspace }}/build

- name: Autotools Verify Install
shell: bash
env:
FC: ${{ steps.setup-fortran.outputs.fc }}
CC: ${{ steps.setup-fortran.outputs.cc }}
CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
source /opt/intel/oneapi/setvars.sh
export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin
export SYCL_DEVICE_FILTER=opencl.cpu
make check-install
working-directory: ${{ runner.workspace }}/build
Loading

0 comments on commit 844172a

Please sign in to comment.