Skip to content

Commit

Permalink
Merge pull request #5 from hpc-io/develop
Browse files Browse the repository at this point in the history
Add benchmark code, reduce compile warnings, and fix issues with HDF5 1.14.5
  • Loading branch information
houjun authored Jan 24, 2025
2 parents 6930d6d + 99e578f commit be2ee58
Show file tree
Hide file tree
Showing 11 changed files with 868 additions and 159 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/clang-format-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ jobs:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'skip-ci')"
steps:
- uses: actions/checkout@v2
- uses: actions/[email protected]

- name: Run clang-format style check for C programs.
uses: DoozyX/clang-format-lint-action@v0.11
uses: DoozyX/clang-format-lint-action@v0.18.2
with:
source: '.'
extensions: 'c,h,cpp,hpp'
clangFormatVersion: 10
style: file
# exclude: './config'
29 changes: 24 additions & 5 deletions .github/workflows/clang-format-fix.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,45 @@
name: clang-format Commit Chanages
# NOTE: This action requires write permissions to be set in your GitHub
# repo/fork for it to be able to commit changes.
#
# This is currently enabled via:
#
# settings > Actions > General > Workflow permissions
#
# which you will need to set to "Read and write permissions"
#
name: clang-format Commit Changes
on:
workflow_dispatch:
push:
paths-ignore:
- '**.md'
- '**.txt'
- 'docs/**'

permissions:
contents: write

jobs:
formatting-check:
name: Commit Format Changes
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'skip-ci')"
permissions:
contents: write # In order to allow EndBug/add-and-commit to commit changes
contents: write # In order to allow EndBug/add-and-commit to commit changes
steps:
- uses: actions/checkout@v3
- uses: actions/[email protected]

- name: Fix C formatting issues detected by clang-format
uses: DoozyX/clang-format-lint-action@v0.13
uses: DoozyX/clang-format-lint-action@v0.18.2
with:
source: '.'
extensions: 'c,h,cpp,hpp'
clangFormatVersion: 10
inplace: True
style: file
# exclude: './config '
- uses: EndBug/add-and-commit@v9

- uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4
with:
author_name: github-actions
author_email: github-actions[bot]@users.noreply.github.com
Expand Down
19 changes: 10 additions & 9 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,14 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install libtool
sudo apt install cmake
sudo apt install cmake uuid-dev
# hdf5
git clone https://github.com/HDFGroup/hdf5.git
# libfabric 1.12.1
wget https://github.com/ofiwg/libfabric/archive/refs/tags/v1.12.1.tar.gz
tar xf v1.12.1.tar.gz
wget https://github.com/HDFGroup/hdf5/releases/download/hdf5_1.14.5/hdf5-1.14.5.tar.gz
tar xzf hdf5-1.14.5.tar.gz
mv hdf5-1.14.5 hdf5
# libfabric 1.20.1
wget https://github.com/ofiwg/libfabric/archive/refs/tags/v1.20.1.tar.gz
tar xf v1.20.1.tar.gz
# mercury
git clone https://github.com/mercury-hpc/mercury.git --recursive
# mpi
Expand All @@ -66,15 +68,14 @@ jobs:
export HDF5_LIBRARY=$mydir/hdf5/install/lib/libhdf5.so
export VOL_DIR=$mydir/vol-pdc
export MERCURY_DIR=$mydir/mercury/install
export LIBFABRIC_DIR=$mydir/libfabric-1.12.1/install
export LIBFABRIC_DIR=$mydir/libfabric-1.20.1/install
export PDC_DIR=$mydir/pdc/install
export LD_LIBRARY_PATH="$LIBFABRIC_DIR/lib:$MERCURY_DIR/lib:$PDC_DIR/lib:$VOL_DIR/install/lib:$LD_LIBRARY_PATH"
export PATH="$LIBFABRIC_DIR/include:$LIBFABRIC_DIR/lib:$MERCURY_DIR/include:$MERCURY_DIR/lib:$PATH"
# Compile HDF5
mkdir $HDF5_DIR
cd hdf5
git checkout hdf5-1_14_1-2
export HDF5_LIBTOOL=/usr/bin/libtoolize
./autogen.sh
./configure CC=mpicc --prefix=$HDF5_DIR --enable-parallel --disable-tests --disable-hl --disable-fortran
Expand All @@ -92,7 +93,7 @@ jobs:
# Compile Mercury
mkdir $MERCURY_DIR
cd $MERCURY_DIR
git checkout v2.1.0
git checkout v2.2.0
cmake ../ -DCMAKE_C_COMPILER=gcc -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DNA_USE_OFI=ON -DNA_USE_SM=OFF -DMERCURY_USE_CHECKSUMS=OFF
make -j2 && sudo make install
ctest
Expand All @@ -117,7 +118,7 @@ jobs:
# Run test
mpirun -N 1 -n 1 -c 1 $PDC_DIR/bin/pdc_server.exe &
mpirun -N 1 -n 1 -c 1 ./bin/h5pdc_vpicio test
mpirun -N 1 -n 1 -c 1 ./bin/vpicio test
mpirun -N 1 -n 1 -c 1 $PDC_DIR/bin/close_server
- name: Setup tmate session
Expand Down
16 changes: 10 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src)
#-----------------------------------------------------------------------------
# Examples
#-----------------------------------------------------------------------------
option(BUILD_EXAMPLES "Build examples." OFF)
option(BUILD_EXAMPLES "Build examples." ON)
if(BUILD_EXAMPLES)
# BuildExamples.cmake builds the examples as a separate project. This ensures
# that examples can be built by themselves as well as avoiding pollution of
Expand All @@ -233,13 +233,15 @@ if(BUILD_EXAMPLES)
set(examples
vpicio
vpicio_open
vpicio_batch
bdcatsio_batch
)

foreach (example ${examples})
add_executable (h5pdc_${example}
${CMAKE_CURRENT_SOURCE_DIR}/examples/h5pdc_${example}.c
add_executable (${example}
${CMAKE_CURRENT_SOURCE_DIR}/examples/${example}.c
)
target_link_libraries(h5pdc_${example} hdf5_vol_pdc)
target_link_libraries(${example} hdf5_vol_pdc)
endforeach()
endif()

Expand Down Expand Up @@ -300,8 +302,10 @@ install(

install(
FILES
${HDF5_VOL_PDC_BINARY_DIR}/bin/h5pdc_vpicio
${HDF5_VOL_PDC_BINARY_DIR}/bin/h5pdc_vpicio_open
${HDF5_VOL_PDC_BINARY_DIR}/bin/vpicio
${HDF5_VOL_PDC_BINARY_DIR}/bin/vpicio_batch
${HDF5_VOL_PDC_BINARY_DIR}/bin/vpicio_open
${HDF5_VOL_PDC_BINARY_DIR}/bin/bdcatsio_batch
DESTINATION
${CMAKE_INSTALL_PREFIX}/bin
)
Expand Down
31 changes: 0 additions & 31 deletions examples/CMakeLists.txt

This file was deleted.

Loading

0 comments on commit be2ee58

Please sign in to comment.