name: hdf5 dev autotools aocc ompi on: 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.head_ref && github.ref || github.run_id }} cancel-in-progress: true permissions: contents: read jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4.1.1 - 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 libncurses-dev libquadmath0 libstdc++6 libxml2 - name: Install AOCC 4.1.0 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 cd aocc-compiler-4.1.0 bash install.sh source /home/runner/work/hdf5/hdf5/setenv_AOCC.sh which clang which flang clang -v - name: Cache OpenMPI 4.1.5 installation id: cache-openmpi-4_1_5 uses: actions/cache@v4 with: path: /home/runner/work/hdf5/hdf5/openmpi-4.1.5-install key: ${{ runner.os }}-${{ runner.arch }}-openmpi-4_1_5-cache - if: ${{ steps.cache-openmpi-4_1_5.outputs.cache-hit != 'true' }} name: Install OpenMPI 4.1.5 run: | export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/usr/local/lib wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz tar zxvf openmpi-4.1.5.tar.gz cd openmpi-4.1.5 ./configure CC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/clang FC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/flang --prefix=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install make make install - name: Install HDF5 env: NPROCS: 2 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 export LD_RUN_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 export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH ./autogen.sh ./configure --prefix=/tmp --enable-parallel --enable-shared CC=mpicc 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" make -j make check -j make install make uninstall