-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
28 changed files
with
3,124 additions
and
2,381 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
--- | ||
Language: Cpp | ||
BasedOnStyle: LLVM | ||
AlignConsecutiveAssignments: true | ||
#llvm11: AlignConsecutiveBitFields: false | ||
AlignConsecutiveDeclarations: true | ||
AlignConsecutiveMacros: true | ||
#llvm10-11: AlignOperands: true - Align | ||
#llvm11: AllowShortEnumsOnASingleLine: true | ||
AllowShortFunctionsOnASingleLine: None | ||
AlwaysBreakAfterReturnType: AllDefinitions | ||
BraceWrapping: | ||
AfterFunction: true | ||
#llvm10-11: AfterControlStatement: false - Never | ||
BeforeCatch: true | ||
BeforeElse: true | ||
#llvm11: BeforeLambdaBody: false | ||
#llvm11: BeforeWhile: false | ||
BreakBeforeBraces: Stroustrup | ||
BreakAfterJavaFieldAnnotations: true | ||
BreakStringLiterals: true | ||
ColumnLimit: 110 # Update $max_trace_macro_line_len in bin/trace also | ||
IncludeCategories: | ||
- Regex: '^"(llvm|llvm-c|clang|clang-c)/' | ||
Priority: 3 | ||
SortPriority: 0 | ||
- Regex: '^(<|"(gtest|gmock|isl|json)/)' | ||
Priority: 4 | ||
SortPriority: 0 | ||
- Regex: '.*' | ||
Priority: 0 | ||
SortPriority: 0 | ||
- Regex: '^PDC*.*' | ||
Priority: 1 | ||
SortPriority: 0 | ||
- Regex: 'private.*' | ||
Priority: 2 | ||
SortPriority: 0 | ||
IncludeIsMainRegex: '(public)?$' | ||
IndentCaseLabels: true | ||
#llvm11: IndentCaseBlocks: false | ||
IndentGotoLabels: false | ||
#llvm11: IndentExternBlock: AfterExternBlock | ||
IndentWidth: 4 | ||
#llvm11: InsertTrailingCommas: None | ||
# MacroBlockBegin: "^BEGIN_FUNC" | ||
# MacroBlockEnd: "^END_FUNC" | ||
ObjCBlockIndentWidth: 4 | ||
#llvm11: ObjCBreakBeforeNestedBlockParam: true | ||
ReflowComments: true | ||
SortIncludes: false | ||
StatementMacros: | ||
#llvm10: TypenameMacros: | ||
#llvm10: - STACK_OF | ||
#llvm10: - LIST | ||
#llvm11: WhitespaceSensitiveMacros: | ||
#llvm11: - STRINGIZE | ||
#llvm11: - PP_STRINGIZE |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: clang-format Check | ||
on: | ||
pull_request: | ||
jobs: | ||
formatting-check: | ||
name: Formatting Check | ||
runs-on: ubuntu-latest | ||
if: "!contains(github.event.head_commit.message, 'skip-ci')" | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Run clang-format style check for C programs. | ||
uses: DoozyX/clang-format-lint-action@v0.11 | ||
with: | ||
source: '.' | ||
extensions: 'c,h,cpp,hpp' | ||
clangFormatVersion: 10 | ||
style: file | ||
# exclude: './config' |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: clang-format Check | ||
on: | ||
workflow_dispatch: | ||
push: | ||
jobs: | ||
formatting-check: | ||
name: Formatting Check | ||
runs-on: ubuntu-latest | ||
if: "!contains(github.event.head_commit.message, 'skip-ci')" | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Run clang-format style check for C programs. | ||
uses: DoozyX/clang-format-lint-action@v0.11 | ||
with: | ||
source: '.' | ||
extensions: 'c,h,cpp,hpp' | ||
clangFormatVersion: 10 | ||
inplace: True | ||
style: file | ||
# exclude: './config ' | ||
- uses: EndBug/add-and-commit@v7 | ||
with: | ||
author_name: github-actions | ||
author_email: github-actions[bot]@users.noreply.github.com | ||
message: 'Committing clang-format changes' |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
name: linux | ||
|
||
on: | ||
pull_request: | ||
branches: [ master ] | ||
|
||
# Allows to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
jobs: | ||
h5bench: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 60 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install cmake | ||
sudo apt install gcc | ||
sudo apt-get install libtool | ||
sudo apt-get install zlib1g-dev | ||
sudo apt-get install python3 | ||
sudo apt-get install libopenmpi-dev | ||
sudo apt-get install libhdf5-mpi-dev | ||
# hdf5 | ||
git clone https://github.com/HDFGroup/hdf5.git | ||
# vol-async | ||
git clone --recursive https://github.com/hpc-io/vol-async.git | ||
- name: Install VOL-Async | ||
run: | | ||
mydir="$PWD" | ||
export HDF5_DIR=$mydir/hdf5/install | ||
export ABT_DIR=$mydir/vol-async/argobots | ||
export VOL_DIR=$mydir/vol-async | ||
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 | ||
make && make install | ||
# Compile Argobots | ||
cd $ABT_DIR | ||
./autogen.sh | ||
./configure --prefix=$ABT_DIR | ||
make && make install | ||
# Compile Asynchronous VOL connector | ||
cd $VOL_DIR | ||
cd src | ||
tail -n 48 Makefile.summit > Makefile | ||
make | ||
- name: Compile and Test VOL-Async | ||
run: | | ||
# Compile vol-async tests | ||
mydir="$PWD" | ||
cd $mydir/vol-async/test | ||
# Set Environmental Variables | ||
export H5_DIR=$mydir/hdf5 | ||
export VOL_DIR=$mydir/vol-async | ||
export ABT_DIR=$mydir/vol-async/argobots | ||
export ASYNC_DIR=$mydir/vol-async/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=$ABT_DIR/lib/libabt.so | ||
make | ||
# Run serial and parallel tests | ||
make check | ||
# Run serial tests only | ||
make check_serial | ||
- name: Build h5bench SYNC | ||
run: | | ||
mkdir build_sync | ||
cd build_sync | ||
cmake .. -DCMAKE_C_COMPILER=/usr/bin/h5pcc | ||
make | ||
- name: Build h5bench ASYNC | ||
run: | | ||
mydir="$PWD" | ||
mkdir build_async | ||
cd build_async | ||
cmake .. -DWITH_ASYNC_VOL:BOOL=ON -DCMAKE_C_FLAGS="-I/$mydir/vol-async/src -L/$mydir/vol-async/src" -DCMAKE_C_COMPILER=$mydir/hdf5/install/bin/h5pcc | ||
make | ||
- name: Test h5bench SYNC Read & Write (NON) | ||
run: | | ||
cd build_sync | ||
./h5bench_write /home/runner/work/h5bench/h5bench/h5bench_patterns/sample_config/sample_write_cc1d_small.cfg testwrite.h5 | ||
./h5bench_read /home/runner/work/h5bench/h5bench/h5bench_patterns/sample_config/sample_read_cc1d_small.cfg testwrite.h5 | ||
- name: Test h5bench ASYNC Read & Write (NON) | ||
run: | | ||
cd build_async | ||
./h5bench_write /home/runner/work/h5bench/h5bench/h5bench_patterns/sample_config/sample_write_cc1d_small.cfg testwrite.h5 | ||
./h5bench_read /home/runner/work/h5bench/h5bench/h5bench_patterns/sample_config/sample_read_cc1d_small.cfg testwrite.h5 | ||
- name: Test h5bench ASYNC Read & Write (IMP) | ||
run: | | ||
cd build_async | ||
./h5bench_write /home/runner/work/h5bench/h5bench/h5bench_patterns/sample_config/sample_write_cc1d_small_IMP.cfg testwrite_IMP.h5 | ||
./h5bench_read /home/runner/work/h5bench/h5bench/h5bench_patterns/sample_config/sample_read_cc1d_small_IMP.cfg testwrite_IMP.h5 | ||
- name: Test h5bench ASYNC Read & Write (EXP) | ||
run: | | ||
cd build_async | ||
./h5bench_write /home/runner/work/h5bench/h5bench/h5bench_patterns/sample_config/sample_write_cc1d_small_EXP.cfg testwrite_EXP.h5 | ||
./h5bench_read /home/runner/work/h5bench/h5bench/h5bench_patterns/sample_config/sample_read_cc1d_small_EXP.cfg testwrite_EXP.h5 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
variables: | ||
HDF5_DIR: "/global/cfs/cdirs/m2621/h5bench/hdf5/install" | ||
H5BENCH_BUILD_PATH: "${CI_PROJECT_DIR}/build" | ||
H5BENCH_INSTALL_PATH: "${CI_PROJECT_DIR}/install" | ||
|
||
stages: | ||
- build | ||
- test | ||
|
||
build: | ||
stage: build | ||
tags: | ||
- cori | ||
variables: | ||
SCHEDULER_PARAMETERS: "-C haswell --qos=debug -N 1 -t 00:30:00 --gres=craynetwork:3" | ||
script: | ||
- echo "Build h5bench" | ||
- module swap PrgEnv-intel PrgEnv-gnu | ||
- module list | ||
- mkdir ${H5BENCH_BUILD_PATH} | ||
- cd ${H5BENCH_BUILD_PATH} | ||
- cmake .. -DCMAKE_C_COMPILER=$HDF5_DIR/bin/h5pcc -DCMAKE_CXX_COMPILER=$HDF5_DIR/bin/h5pcc -DCMAKE_INSTALL_PREFIX=${H5BENCH_INSTALL_PATH} | ||
- make | ||
- make install | ||
artifacts: | ||
paths: | ||
- ${H5BENCH_BUILD_PATH} | ||
- ${H5BENCH_INSTALL_PATH} | ||
|
||
test: | ||
stage: test | ||
tags: | ||
- cori | ||
variables: | ||
SCHEDULER_PARAMETERS: "-C haswell --qos=debug -N 1 -t 00:30:00 --gres=craynetwork:3" | ||
script: | ||
- echo "Test h5bench SYNC" | ||
- cd ${H5BENCH_BUILD_PATH} | ||
- export LD_LIBRARY_PATH=$HDF5_DIR/lib:$LD_LIBRARY_PATH | ||
- export MPICH_MAX_THREAD_SAFETY=multiple | ||
- echo "Test h5bench SYNC write" | ||
- srun -n 2 ./h5bench_write ../h5bench_patterns/sample_config/sample_write_cc1d_small.cfg file.h5 | ||
- echo "Test h5bench SYNC read" | ||
- srun -n 2 ./h5bench_read ../h5bench_patterns/sample_config/sample_read_cc1d_small.cfg file.h5 | ||
- ls -larth file.h5 |
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
Oops, something went wrong.