HDF5 2.0.0 updates (#44) #242
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: linux | |
on: | |
pull_request: | |
branches: [ develop ] | |
push: | |
branches: [ develop ] | |
paths-ignore: | |
- '**.md' | |
- '**.txt' | |
- 'docs/**' | |
# Allows to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
vol-async-hdf5-latest-Makefile: | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
steps: | |
- name: Checkout submodule Argobots | |
uses: actions/[email protected] | |
with: | |
submodules: 'true' | |
- name: Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install libtool libopenmpi-dev zlib1g-dev python3 | |
- name: Checkout latest HDF5 release | |
run: | | |
wget https://github.com/HDFGroup/hdf5/releases/latest/download/hdf5.tar.gz | |
tar xzf hdf5.tar.gz | |
ln -sf hdf5-* hdf5 | |
- name: Installation | |
run: | | |
mydir="$PWD" | |
export HDF5_DIR=$mydir/hdf5/install | |
export ABT_DIR=$mydir/argobots | |
export VOL_DIR=$mydir | |
mkdir $HDF5_DIR | |
# Compile HDF5 | |
cd hdf5 | |
./configure --prefix=$HDF5_DIR --enable-parallel --enable-threadsafe --enable-unsupported \ | |
--disable-tests --disable-hl --disable-fortran --disable-tools | |
make && make install | |
# Compile Argobots | |
cd $ABT_DIR | |
./autogen.sh | |
./configure --prefix=$ABT_DIR | |
make && make install | |
# Compile Asynchronous VOL connector | |
cd $VOL_DIR/src | |
tail -n 48 Makefile.summit > Makefile | |
make | |
- name: Compile and Test Vol-Async | |
run: | | |
# Compile vol-async tests | |
mydir="$PWD" | |
cd $mydir | |
cd test | |
# Set Environmental Variables | |
export H5_DIR=$mydir/hdf5 | |
export VOL_DIR=$mydir/ | |
export ABT_DIR=$mydir/argobots | |
export ASYNC_DIR=$mydir/src | |
export HDF5_DIR=$mydir/hdf5/install | |
export LD_LIBRARY_PATH=$VOL_DIR/src:$H5_DIR/install/lib:$ABT_DIR/lib:$LD_LIBRARY_PATH | |
export HDF5_PLUGIN_PATH="$VOL_DIR/src" | |
export HDF5_VOL_CONNECTOR="async under_vol=0;under_info={}" | |
# Makefile | |
tail -n 47 Makefile.summit > Makefile | |
export LD_PRELOAD=$mydir/argobots/lib/libabt.so | |
make | |
date | |
# Run serial and parallel tests | |
make check | |
date | |
# Test with async VOL double buffering | |
cd ../src | |
sed -i "s/CFLAGS =/CFLAGS = -DENABLE_WRITE_MEMCPY=1 /g" ./Makefile | |
cat Makefile | |
make clean | |
make | |
cd ../test | |
date | |
make clean | |
make | |
make check | |
date | |
vol-async-hdf5-develop-Makefile: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout submodule Argobots | |
uses: actions/[email protected] | |
with: | |
submodules: 'true' | |
- name: Checkout HDF5 latest | |
uses: actions/[email protected] | |
with: | |
repository: HDFGroup/hdf5 | |
path: hdf5 | |
- name: Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install libtool libopenmpi-dev zlib1g-dev python3 | |
- name: Installation | |
run: | | |
mydir="$PWD" | |
export HDF5_DIR=$mydir/hdf5/install | |
export ABT_DIR=$mydir/argobots | |
export VOL_DIR=$mydir | |
mkdir $HDF5_DIR | |
# Compile HDF5 | |
cd hdf5 | |
export HDF5_LIBTOOL=/usr/bin/libtoolize | |
./autogen.sh | |
./configure --prefix=$HDF5_DIR --enable-parallel --enable-threadsafe --enable-unsupported \ | |
--disable-tests --disable-hl --disable-fortran --disable-tools | |
make && make install | |
# Compile Argobots | |
cd $ABT_DIR | |
./autogen.sh | |
./configure --prefix=$ABT_DIR | |
make && make install | |
# Compile Asynchronous VOL connector | |
cd $VOL_DIR/src | |
tail -n 48 Makefile.summit > Makefile | |
make | |
- name: Compile and Test Vol-Async | |
run: | | |
# Compile vol-async tests | |
mydir="$PWD" | |
cd $mydir | |
cd test | |
# Set Environmental Variables | |
export H5_DIR=$mydir/hdf5 | |
export VOL_DIR=$mydir/ | |
export ABT_DIR=$mydir/argobots | |
export ASYNC_DIR=$mydir/src | |
export HDF5_DIR=$mydir/hdf5/install | |
export LD_LIBRARY_PATH=$VOL_DIR/src:$H5_DIR/install/lib:$ABT_DIR/lib:$LD_LIBRARY_PATH | |
export HDF5_PLUGIN_PATH="$VOL_DIR/src" | |
export HDF5_VOL_CONNECTOR="async under_vol=0;under_info={}" | |
# Makefile | |
tail -n 47 Makefile.summit > Makefile | |
export LD_PRELOAD=$mydir/argobots/lib/libabt.so | |
make | |
date | |
# Run serial and parallel tests | |
make check | |
date | |
# Test with async VOL double buffering | |
cd ../src | |
sed -i "s/CFLAGS =/CFLAGS = -DENABLE_WRITE_MEMCPY=1 /g" ./Makefile | |
cat Makefile | |
make clean | |
make | |
cd ../test | |
date | |
make clean | |
make | |
make check | |
date | |
vol-async-hdf5-latest-cmake: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout submodule Argobots | |
uses: actions/[email protected] | |
with: | |
submodules: 'true' | |
- name: Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install libtool libopenmpi-dev zlib1g-dev python3 cmake | |
- name: Checkout latest HDF5 release | |
run: | | |
wget https://github.com/HDFGroup/hdf5/releases/latest/download/hdf5.tar.gz | |
tar xzf hdf5.tar.gz | |
ln -sf hdf5-* hdf5 | |
- name: Installation | |
run: | | |
mydir="$PWD" | |
export HDF5_DIR=$mydir/hdf5/install | |
export ABT_DIR=$mydir/argobots | |
export VOL_DIR=$mydir/vol-async/install | |
mkdir $HDF5_DIR | |
# Compile HDF5 | |
cd hdf5 | |
mkdir build | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=$HDF5_DIR -DHDF5_ENABLE_PARALLEL=ON -DHDF5_ENABLE_THREADSAFE=ON \ | |
-DALLOW_UNSUPPORTED=ON -DBUILD_TESTING=OFF -DHDF5_BUILD_HL_LIB=OFF \ | |
-DHDF5_BUILD_EXAMPLES=OFF -DHDF5_BUILD_FORTRAN=OFF -DCMAKE_C_COMPILER=mpicc .. | |
make -j && make install | |
# Compile Argobots | |
cd $ABT_DIR | |
./autogen.sh | |
./configure --prefix=$ABT_DIR | |
make && make install | |
# Compile Asynchronous VOL connector | |
pwd | |
cd ../ | |
mkdir build | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=$VOL_DIR -DCMAKE_C_COMPILER=mpicc .. | |
make && make install | |
- name: Compile and Test Vol-Async | |
run: | | |
# Compile vol-async tests | |
mydir="$PWD" | |
echo $PWD | |
cd build | |
# Set Environmental Variables | |
export VOL_DIR=$mydir/vol-async/install | |
export ABT_DIR=$mydir/argobots | |
export HDF5_DIR=$mydir/hdf5/install | |
export LD_LIBRARY_PATH=$VOL_DIR/lib:$HDF5_DIR/install/lib:$ABT_DIR/lib:$LD_LIBRARY_PATH | |
export HDF5_PLUGIN_PATH="$VOL_DIR/lib" | |
export HDF5_VOL_CONNECTOR="async under_vol=0;under_info={}" | |
export LD_PRELOAD=$mydir/argobots/lib/libabt.so | |
# Run serial and parallel tests | |
date | |
ctest -V | |
date | |
# Test with async VOL write memcopy (double buffering) | |
cmake -DCMAKE_INSTALL_PREFIX=$VOL_DIR -DCMAKE_C_COMPILER=mpicc -DENABLE_WRITE_MEMCPY=ON .. | |
make clean | |
make && make install | |
date | |
ctest -V | |
date | |
vol-async-hdf5-develop-cmake: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout submodule Argobots | |
uses: actions/[email protected] | |
with: | |
submodules: 'true' | |
- name: Checkout HDF5 latest | |
uses: actions/[email protected] | |
with: | |
repository: HDFGroup/hdf5 | |
path: hdf5 | |
- name: Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install libtool libopenmpi-dev zlib1g-dev python3 cmake | |
- name: Installation | |
run: | | |
mydir="$PWD" | |
export HDF5_DIR=$mydir/hdf5/install | |
export ABT_DIR=$mydir/argobots | |
export VOL_DIR=$mydir/vol-async/install | |
mkdir $HDF5_DIR | |
# Compile HDF5 | |
cd hdf5 | |
mkdir build | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=$HDF5_DIR -DHDF5_ENABLE_PARALLEL=ON -DHDF5_ENABLE_THREADSAFE=ON \ | |
-DALLOW_UNSUPPORTED=ON -DBUILD_TESTING=OFF -DHDF5_BUILD_HL_LIB=OFF \ | |
-DHDF5_BUILD_EXAMPLES=OFF -DHDF5_BUILD_FORTRAN=OFF -DCMAKE_C_COMPILER=mpicc .. | |
make -j && make install | |
# Compile Argobots | |
cd $ABT_DIR | |
./autogen.sh | |
./configure --prefix=$ABT_DIR | |
make && make install | |
# Compile Asynchronous VOL connector | |
pwd | |
cd ../ | |
mkdir build | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=$VOL_DIR -DCMAKE_C_COMPILER=mpicc .. | |
make && make install | |
- name: Compile and Test Vol-Async | |
run: | | |
# Compile vol-async tests | |
mydir="$PWD" | |
echo $PWD | |
cd build | |
# Set Environmental Variables | |
export VOL_DIR=$mydir/vol-async/install | |
export ABT_DIR=$mydir/argobots | |
export HDF5_DIR=$mydir/hdf5/install | |
export LD_LIBRARY_PATH=$VOL_DIR/lib:$HDF5_DIR/install/lib:$ABT_DIR/lib:$LD_LIBRARY_PATH | |
export HDF5_PLUGIN_PATH="$VOL_DIR/lib" | |
export HDF5_VOL_CONNECTOR="async under_vol=0;under_info={}" | |
export LD_PRELOAD=$mydir/argobots/lib/libabt.so | |
# Run serial and parallel tests | |
date | |
ctest -V | |
date | |
# Test with async VOL write memcopy (double buffering) | |
cmake -DCMAKE_INSTALL_PREFIX=$VOL_DIR -DCMAKE_C_COMPILER=mpicc -DENABLE_WRITE_MEMCPY=ON .. | |
make clean | |
make && make install | |
date | |
ctest -V | |
date | |
- name: Setup tmate session | |
if: ${{ failure() }} | |
uses: mxschmitt/action-tmate@v3 |