1+ name : Test HDF5 GPUDirect Storage VFD
2+ on :
3+ push :
4+ branches : [ master ]
5+ workflow_dispatch :
6+ jobs :
7+ build :
8+ runs-on : ubuntu-latest
9+ steps :
10+ - name : Checkout vfd-gds
11+ uses : actions/checkout@v3
12+ - name : Checkout HDF5
13+ uses : actions/checkout@v3
14+ with :
15+ repository : HDFGroup/hdf5
16+ path : hdf5
17+ - name : Install dependencies
18+ run : sudo apt-get install ninja-build automake autoconf libtool libtool-bin libopenmpi-dev libpthread-stubs0-dev
19+
20+ - name : Install GDS/CUDA
21+ run : |
22+ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
23+ sudo dpkg -i cuda-keyring_1.0-1_all.deb
24+ sudo apt-get update
25+ sudo apt-get install -y cuda-nvcc-11-8 libcufile-dev-11-8
26+ echo "PATH=/usr/local/cuda/bin${PATH:+:${PATH}}" >> $GITHUB_ENV
27+ echo "CUDA_PATH=/usr/local/cuda" >> $GITHUB_ENV
28+ echo "LD_LIBRARY_PATH=/usr/local/lib:/usr/local/cuda/lib64:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
29+ - name : Install HDF5
30+ run : |
31+ cmake --version
32+ mkdir hdf5/build
33+ cd hdf5/build
34+ cmake -DCMAKE_BUILD_TYPE=Release \
35+ -DBUILD_TESTING:BOOL=OFF \
36+ -DENABLE_EXTENDED_TESTS:BOOL=OFF \
37+ -DHDF5_BUILD_EXAMPLES:BOOL=OFF \
38+ -DHDF5_BUILD_HL_LIB:BOOL=OFF \
39+ -DHDF5_BUILD_HL_TOOLS:BOOL=OFF \
40+ -DCMAKE_INSTALL_PREFIX=/usr/local \
41+ -DHDF5_ENABLE_PARALLEL:BOOL=ON \
42+ -DHDF5_ENABLE_THREADSAFE:BOOL=ON \
43+ -DALLOW_UNSUPPORTED:BOOL=ON \
44+ ..
45+ sudo make -j2 install
46+ cd ..
47+ git rev-parse HEAD > git.txt
48+
49+ - name : Install vfd-gds
50+ env :
51+ HDF5_PLUGIN_PATH : /usr/local/lib
52+ CC : mpicc
53+ run : |
54+ mkdir build && cd $_
55+ cmake -DHDF5_DIR=/usr/local ..
56+ sudo make -j2 install
57+ #ctest --output-on-failure
0 commit comments