Skip to content

Commit 5fe5929

Browse files
jeanbezhoujungithub-actions[bot]hyunjuoohHyunju Oh
authored
Sync develop to stable (v.0.6) (#216)
* Performace improvement for vpicio (#211) * Paritial fix for the region transfer/wait performance issue * Committing clang-format changes * Improve the async processing for vpicio_mts_all, also fix a few compile issues * Committing clang-format changes * Minor change * Continue to optimize start_all performance for vpicio, add a few time related convinient functions * Committing clang-format changes * Fix hanging issue in CI testing * Committing clang-format changes * Disable debug prints * Revert back for non-all ops * Better pthread management * Better pthread management * Fix timeout issue with CI testing and clang-formatting * Committing clang-format changes * Test * Trigger test * Committing clang-format changes * Trigger CI * Committing clang-format changes * Trigger CI * Switch to static partition for vpicio * Replace vpicio_mts with new implementation --------- Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> * Multi-thread fix and request merging (#205) * Update getting_started.rst (#184) * Removing gres option for ctest (#182) * Removing gres option from scripts * Update check for core --------- Co-authored-by: Hyunju Oh <hjoh16@login15.chn.perlmutter.nersc.gov> Co-authored-by: Jean Luca Bez <jlbez@lbl.gov> * Fix an issue with region transfer request * Committing clang-format changes * Merge small requests when they are contiguous and 1D, change srun commands in run scripts to detect Perlmutter compute nodes * Merge only for REGION_LOCAL partition * Committing clang-format changes * Fix a bug that causes some tests to fail * Fix a couple of issues with start/wait all * Committing clang-format changes * Add aggregation support for contiguous read operations * Committing clang-format changes * Fix compile issue when multithread is enabled * Committing clang-format changes * minor change with test code * Committing clang-format changes * Remove metadata mutex for multi threading * Committing clang-format changes * Fix mutex * Committing clang-format changes * Fix an issue when closing an obj * Sync develop to stable (v.0.5) (#201) * Update getting_started.rst (#184) * Removing gres option for ctest (#182) * Removing gres option for ctest * Removing gres option from scripts * Update check for core --------- Co-authored-by: Hyunju Oh <hjoh16@login15.chn.perlmutter.nersc.gov> Co-authored-by: Jean Luca Bez <jlbez@lbl.gov> * enable cache by default (#187) * Removing PDC macro (#189) * Removing gres option for ctest * Removing gres option from scripts * Update check for core * Remove PDC macro * Committing clang-format changes --------- Co-authored-by: Hyunju Oh <hjoh16@login15.chn.perlmutter.nersc.gov> Co-authored-by: Jean Luca Bez <jlbez@lbl.gov> Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> * BDCATS fix (#193) * Fix issues with bdcats_batch * Committing clang-format changes --------- Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> * Update mpi_test.sh (#197) * Update .gitlab-ci.yml (#195) * Updates for latest integration with Jacamar and Gitlab tokens in CI * VPICIO bugfix (#196) * Fix VPICIO bug * Add more checks and error out when no server is selected * Committing clang-format changes * Add VPICIO and BDCATS to MPI test --------- Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> Co-authored-by: Jean Luca Bez <jlbez@lbl.gov> * Fix vpicio_mts (#199) --------- Co-authored-by: Houjun Tang <htang4@lbl.gov> Co-authored-by: Hyunju Oh <oh.693@osu.edu> Co-authored-by: Hyunju Oh <hjoh16@login15.chn.perlmutter.nersc.gov> Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> * Committing clang-format changes * Fix rebase issue * Add timers * Committing clang-format changes * Add explict transfer start (all) with MPI communicator * Committing clang-format changes * MPI fix * remove debug msg * Committing clang-format changes * Add function comment for doc * Revert script changes * Committing clang-format changes * Revert script changes * Committing clang-format changes * Revert script setting --------- Co-authored-by: Hyunju Oh <oh.693@osu.edu> Co-authored-by: Hyunju Oh <hjoh16@login15.chn.perlmutter.nersc.gov> Co-authored-by: Jean Luca Bez <jlbez@lbl.gov> Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> * Update CMakeLists.txt to bump version number (#202) * Update CMakeLists.txt to bump version number * Update clang-format-check.yml * IDIOMS Update & BULKI v0.1 (#203) * fix cmake mercury_util not found issue * update for Julia support * fix hdf5.h not found for src/tools * update container config * add libhdf5-dev for Github Actions * update CMake for HDF5 in tools * update logic for finding HDF5 * update * remove use system hdf5 * delete useless find library * update findHDF5 * Feature/dart (#11) Update to avoid fixing compilation issue on src/tools (due to : HDF5 cannot be found) * Use cc on Perlmutter (#161) Dr. Tang fixed a compilation issue in NERSC CI where HDF5 cannot be detected even if the cray-parallel-hdf5 module is loaded on Perlmultter. * update with fixes on tools and llsm example * add gitignore for llsm * update gitignore * Feature/dart (#12) * fix formatting * update clangformat10 * update base dockerfile * Add clang-format10 to docker container. Also fixed clang-format. Add clang-format10 to docker container. Also fixed clang-format. * Fix pdc ls (#154) * pdc import, export, ls compiled successfully * removed requested files * formatting issues * changed install tools * gets checkpoint files * grabbing checkpoint files from within sub-directories, minor comments * Committing clang-format changes * Committing clang-format changes * Fix a few issues with pdc_ls * Committing clang-format changes --------- Co-authored-by: nickaruwang <nickwan0318@gmail.com> Co-authored-by: Nick Wang <66816536+nickaruwang@users.noreply.github.com> Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> Co-authored-by: Jean Luca Bez <jlbez@lbl.gov> * update documentation * update document update document * sync branch sync branch * no UUID module is required * update document and make UUID an optional package * update docker repo name * updating docker repo name and make UUID optional * Complete support for Docker and Github Codespace (#157) Include support for Docker and Github Codespace so we can run our dev environment with the support of Docker. * SQLite and RocksDB support for KVtags (#165) SQLite and RocksDB support for KVtags * fix round for tag delete * update test * bulki update * BULKI base type worked * BULKI all tests done * new index code * update * update new test * update csv bench * update * update script * adding python scripts for generating large metadata set for LLSM application * update json schema * better json validator * update importer * update code for non-MPI compatibility * update llsm converter * update LLSM data converter * split files * update .gitignore * update * add timing info * update * update tag size * detect object creation failure * update * update object name with date * update for robustness * update * update JMD_DEBUG option * update output for overall output * update inttypes.h * update * update extractor * update inttypes.h * update converter * update importer information * Update getting_started.rst (#184) * Removing gres option for ctest (#182) * Removing gres option for ctest * Removing gres option from scripts * Update check for core --------- Co-authored-by: Hyunju Oh <hjoh16@login15.chn.perlmutter.nersc.gov> Co-authored-by: Jean Luca Bez <jlbez@lbl.gov> * fix issue * fixed search issues * update for infix * update * index persistence still needs improvement * update * enable cache by default (#187) * Removing PDC macro (#189) * Removing gres option for ctest * Removing gres option from scripts * Update check for core * Remove PDC macro * Committing clang-format changes --------- Co-authored-by: Hyunju Oh <hjoh16@login15.chn.perlmutter.nersc.gov> Co-authored-by: Jean Luca Bez <jlbez@lbl.gov> Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> * update * range query done' * range query local test passed * multi-condition in progress * clean up code * add comments * new benchmark * update * update range query test * update cmake: * update * update * update * update * someta range query * someta range query * someta range query * fix value serialization * update * update double free * update * update * update * fixed pointer issue * rb_tree delete fixed, now need to check index persistence * update * update * update * update * update * update * update * update * update * update * update * update * update * BDCATS fix (#193) * Fix issues with bdcats_batch * Committing clang-format changes --------- Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> * update * clean up code * update test sh * IDIOMS persistence DONE * update * remove old kvtag benchmarks * update * update * update changes * dart info * update * multi data type for the same key, supported now * Monitoring changes from feature/dart to develop (#18) Major changes: * IDIOMS -> affix-based query benchmark * IDIOMS -> Simulation Test * IDIOMS -> Multi data type supported for the same key * IDIOMS -> Range Query and Exact Query for Numeric Values * IDIOMS -> benchmark for numeric values (exact search and range query) * IDIOMS -> Index Persistence * BULKI -> A data serialization and deserialization mechanism. * fix CMakeLists.txt * update * update format * update BULKI interface order * BULKI API sorted * add idioms ci test * Feature/dart (#20) 1. add documentation about BULKI and IDIOMS query conditions 2. add ci test for IDIOMS 3. optimized BULKI to save space on its metadata fields. * Feature/dart (#22) update version * update * update * update * remove unnecessary .bin file * update * update --------- Co-authored-by: Houjun Tang <htang4@lbl.gov> Co-authored-by: nickaruwang <nickwan0318@gmail.com> Co-authored-by: Nick Wang <66816536+nickaruwang@users.noreply.github.com> Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> Co-authored-by: Jean Luca Bez <jlbez@lbl.gov> Co-authored-by: Hyunju Oh <oh.693@osu.edu> Co-authored-by: Hyunju Oh <hjoh16@login15.chn.perlmutter.nersc.gov> * Fix region transfer with object static partitioning (#214) * Update pdc_region_transfer.c * Committing clang-format changes * Update .gitlab-ci.yml Fix issue with Perlmutter CI libfabric module --------- Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> * EQSIM benchmark code and fixes (#213) * Update getting_started.rst (#184) * Removing gres option for ctest (#182) * Removing gres option for ctest * Removing gres option from scripts * Update check for core --------- Co-authored-by: Hyunju Oh <hjoh16@login15.chn.perlmutter.nersc.gov> Co-authored-by: Jean Luca Bez <jlbez@lbl.gov> * enable cache by default (#187) * Benchmark code for EQSIM data * Committing clang-format changes * Minor adjustments * Committing clang-format changes * Updates * Committing clang-format changes * Change vpicio to use local server partitioning, add some debug prints * Committing clang-format changes * Add metadata query to benchmark code * Committing clang-format changes * Add ZFP compression for read and write * Committing clang-format changes * Add a option to use more ranks to read data so total data of each rank is less than the 4GB chunk limit * Committing clang-format changes * Add a data query code for EQSIM data * Committing clang-format changes * Minor adjustments for the HDF5 read code * Committing clang-format changes * Fix an issue with periodic data flush, minor changes to benchmark code * Committing clang-format changes * fix an issue with 3d read segfault * Committing clang-format changes * Fix compile issue * Update .gitlab-ci.yml * Update sleep time * Replace function * Replace function * Minor updates and doc changes * Committing clang-format changes * Update --------- Co-authored-by: Hyunju Oh <oh.693@osu.edu> Co-authored-by: Hyunju Oh <hjoh16@login15.chn.perlmutter.nersc.gov> Co-authored-by: Jean Luca Bez <jlbez@lbl.gov> Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: Houjun Tang <htang4@lbl.gov> Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com> Co-authored-by: Hyunju Oh <oh.693@osu.edu> Co-authored-by: Hyunju Oh <hjoh16@login15.chn.perlmutter.nersc.gov> Co-authored-by: Zhang Wei <zhangwei217245@lbl.gov> Co-authored-by: nickaruwang <nickwan0318@gmail.com> Co-authored-by: Nick Wang <66816536+nickaruwang@users.noreply.github.com>
1 parent 6999ac7 commit 5fe5929

File tree

149 files changed

+21153
-3825
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+21153
-3825
lines changed

.docker/dev_base.Dockerfile

Lines changed: 76 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,55 @@
44
ARG ARCH
55
FROM ${ARCH}ubuntu:jammy
66

7-
RUN echo "ARCH=${ARCH}" && sleep 3
8-
97
ARG ARCH_CODE
108

11-
RUN echo "ARCH_CODE=${ARCH_CODE}" && sleep 3
9+
ENV JULIA_HOME=/opt/julia
10+
ENV WORK_SPACE=/home/project
11+
ENV LIBFABRIC_SRC_DIR=$WORK_SPACE/source/libfabric
12+
ENV LIBFABRIC_DIR=$WORK_SPACE/install/libfabric
13+
ENV MERCURY_SRC_DIR=$WORK_SPACE/source/mercury
14+
ENV MERCURY_DIR=$WORK_SPACE/install/mercury
15+
16+
ENV PDC_SRC_DIR=$WORK_SPACE/source/pdc
17+
ENV PDC_DIR=$WORK_SPACE/install/pdc
18+
19+
ENV LD_LIBRARY_PATH="$LIBFABRIC_DIR/lib:$LD_LIBRARY_PATH"
20+
ENV PATH="$LIBFABRIC_DIR/include:$LIBFABRIC_DIR/lib:$PATH"
21+
ENV LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
22+
ENV PATH="$MERCURY_DIR/include:$MERCURY_DIR/lib:$PATH"
23+
24+
25+
ENV MERCURY_CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=$MERCURY_DIR -DCMAKE_C_COMPILER=mpicc -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DNA_USE_OFI=ON -DNA_USE_SM=OFF -DNA_OFI_TESTING_PROTOCOL=tcp "
26+
ENV CLANG_FORMAT_PATH=$WORK_SPACE/software/clang-format-lint-action/clang-format/clang-format10
27+
1228
# Install necessary tools, MPICH, UUID library and developer files
13-
RUN apt-get update && apt-get install -y \
29+
RUN echo "ARCH=${ARCH}" && echo "ARCH_CODE=${ARCH_CODE}" && sleep 3 && mkdir -p $WORK_SPACE && \
30+
mkdir -p $WORK_SPACE/software && \
31+
mkdir -p $WORK_SPACE/source && \
32+
mkdir -p $WORK_SPACE/install && \
33+
mkdir -p $LIBFABRIC_SRC_DIR && \
34+
mkdir -p $MERCURY_SRC_DIR && \
35+
mkdir -p $PDC_SRC_DIR && \
36+
mkdir -p $LIBFABRIC_DIR && \
37+
mkdir -p $MERCURY_DIR && \
38+
mkdir -p $PDC_DIR && \
39+
rm -rf $LIBFABRIC_SRC_DIR/* && \
40+
rm -rf $MERCURY_SRC_DIR/* && \
41+
rm -rf $PDC_SRC_DIR/* && \
42+
rm -rf $LIBFABRIC_DIR/* && \
43+
rm -rf $MERCURY_DIR/* && \
44+
rm -rf $PDC_DIR/* && \
45+
echo "export LIBFABRIC_SRC_DIR=$WORK_SPACE/source/libfabric" > $WORK_SPACE/pdc_env.sh && \
46+
echo "export LIBFABRIC_DIR=$WORK_SPACE/install/libfabric" >> $WORK_SPACE/pdc_env.sh && \
47+
echo "export MERCURY_SRC_DIR=$WORK_SPACE/source/mercury" >> $WORK_SPACE/pdc_env.sh && \
48+
echo "export MERCURY_DIR=$WORK_SPACE/install/mercury" >> $WORK_SPACE/pdc_env.sh && \
49+
echo "export PDC_SRC_DIR=$WORK_SPACE/source/pdc" >> $WORK_SPACE/pdc_env.sh && \
50+
echo "export PDC_DIR=$WORK_SPACE/install/pdc" >> $WORK_SPACE/pdc_env.sh && \
51+
echo 'export LD_LIBRARY_PATH=$LIBFABRIC_DIR/lib:$LD_LIBRARY_PATH' >> $WORK_SPACE/pdc_env.sh && \
52+
echo 'export PATH=$LIBFABRIC_DIR/include:$LIBFABRIC_DIR/lib:$PATH' >> $WORK_SPACE/pdc_env.sh && \
53+
echo 'export LD_LIBRARY_PATH=$MERCURY_DIR/lib:$LD_LIBRARY_PATH' >> $WORK_SPACE/pdc_env.sh \
54+
echo 'export PATH=$MERCURY_DIR/include:$MERCURY_DIR/lib:$PATH' >> $WORK_SPACE/pdc_env.sh && \
55+
apt-get update && apt-get install -y \
1456
build-essential \
1557
git \
1658
mpich \
@@ -28,107 +70,47 @@ RUN apt-get update && apt-get install -y \
2870
wget \
2971
axel \
3072
curl \
73+
bc \
3174
vim \
3275
nano \
3376
gdb \
3477
cgdb \
3578
curl \
3679
valgrind \
37-
python3
38-
39-
# Install Oh My Bash
40-
RUN bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)" && \
41-
sed -i 's/OSH_THEME="font"/OSH_THEME="powerline-multiline"/g' ~/.bashrc
42-
43-
# Install Julia
44-
45-
RUN echo "https://julialang-s3.julialang.org/bin/linux/aarch64/1.6/julia-1.6.7-linux-aarch64.tar.gz" > /julia_url_arm64v8.txt && \
46-
echo "https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.7-linux-x86_64.tar.gz" > /julia_url_amd64.txt
47-
48-
RUN echo $(cat /julia_url_${ARCH_CODE}.txt) && sleep 3
49-
50-
RUN mkdir -p /opt/julia && wget -O - $(cat /julia_url_${ARCH_CODE}.txt) | tar -xz -C /opt/julia --strip-components=1 && \
51-
ln -s /opt/julia/bin/julia /usr/local/bin/julia
52-
53-
RUN rm -rf /tmp/julia_url_*.txt
54-
55-
ENV JULIA_HOME=/opt/julia
56-
57-
# Install Rust
58-
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
59-
RUN echo 'source $HOME/.cargo/env' >> ~/.bashrc
60-
61-
62-
# Set WORK_SPACE environment variable and create necessary directories
63-
ENV WORK_SPACE=/home/project
64-
RUN mkdir -p $WORK_SPACE
65-
66-
# Install clang-format repo
67-
RUN mkdir -p $WORK_SPACE/software
68-
RUN cd $WORK_SPACE/software && git clone https://github.com/DoozyX/clang-format-lint-action.git
69-
ENV CLANG_FORMAT_PATH=$WORK_SPACE/software/clang-format-lint-action/clang-format/clang-format10
70-
71-
# Clone the repositories
72-
WORKDIR $WORK_SPACE/source
73-
RUN git clone https://github.com/ofiwg/libfabric.git && \
74-
git clone https://github.com/mercury-hpc/mercury.git --recursive
75-
76-
ENV LIBFABRIC_SRC_DIR=$WORK_SPACE/source/libfabric
77-
ENV LIBFABRIC_DIR=$WORK_SPACE/install/libfabric
78-
ENV MERCURY_SRC_DIR=$WORK_SPACE/source/mercury
79-
ENV MERCURY_DIR=$WORK_SPACE/install/mercury
80-
81-
ENV PDC_SRC_DIR=$WORK_SPACE/source/pdc
82-
ENV PDC_DIR=$WORK_SPACE/install/pdc
83-
84-
RUN mkdir -p $LIBFABRIC_SRC_DIR && \
85-
mkdir -p $MERCURY_SRC_DIR && \
86-
mkdir -p $PDC_SRC_DIR && \
87-
mkdir -p $LIBFABRIC_DIR && \
88-
mkdir -p $MERCURY_DIR && \
89-
mkdir -p $PDC_DIR
90-
91-
92-
# Save the environment variables to a file
93-
RUN echo "export LIBFABRIC_SRC_DIR=$WORK_SPACE/source/libfabric" > $WORK_SPACE/pdc_env.sh && \
94-
echo "export LIBFABRIC_DIR=$WORK_SPACE/install/libfabric" >> $WORK_SPACE/pdc_env.sh && \
95-
echo "export MERCURY_SRC_DIR=$WORK_SPACE/source/mercury" >> $WORK_SPACE/pdc_env.sh && \
96-
echo "export MERCURY_DIR=$WORK_SPACE/install/mercury" >> $WORK_SPACE/pdc_env.sh && \
97-
echo "export PDC_SRC_DIR=$WORK_SPACE/source/pdc" >> $WORK_SPACE/pdc_env.sh && \
98-
echo "export PDC_DIR=$WORK_SPACE/install/pdc" >> $WORK_SPACE/pdc_env.sh
99-
100-
101-
# Build and install libfabric
102-
WORKDIR $LIBFABRIC_SRC_DIR
103-
RUN git checkout v1.18.0 && \
80+
python3 && \
81+
cd $WORK_SPACE/software && \
82+
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)" && \
83+
sed -i 's/OSH_THEME="font"/OSH_THEME="powerline-multiline"/g' ~/.bashrc && \
84+
echo "https://julialang-s3.julialang.org/bin/linux/aarch64/1.6/julia-1.6.7-linux-aarch64.tar.gz" > $WORK_SPACE/software/julia_url_arm64v8.txt && \
85+
echo "https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.7-linux-x86_64.tar.gz" > $WORK_SPACE/software/julia_url_amd64.txt && \
86+
echo $(cat $WORK_SPACE/software/julia_url_${ARCH_CODE}.txt) && sleep 3 && \
87+
mkdir -p /opt/julia && wget -O - $(cat $WORK_SPACE/software/julia_url_${ARCH_CODE}.txt) | tar -xz -C /opt/julia --strip-components=1 && \
88+
ln -s /opt/julia/bin/julia /usr/local/bin/julia && \
89+
rm -rf $WORK_SPACE/software/julia_url_*.txt && \
90+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
91+
echo 'source $HOME/.cargo/env' >> ~/.bashrc && \
92+
git clone https://github.com/DoozyX/clang-format-lint-action.git && \
93+
git clone https://github.com/ofiwg/libfabric.git ${LIBFABRIC_SRC_DIR} && \
94+
git clone https://github.com/mercury-hpc/mercury.git --recursive ${MERCURY_SRC_DIR} && \
95+
cd $LIBFABRIC_SRC_DIR && \
96+
git checkout v1.18.0 && \
10497
./autogen.sh && \
10598
./configure --prefix=$LIBFABRIC_DIR CC=mpicc CFLAG="-O2" && \
10699
make clean && \
107100
make -j 8 && make install && \
108-
make check
109-
110-
ENV LD_LIBRARY_PATH="$LIBFABRIC_DIR/lib:$LD_LIBRARY_PATH"
111-
ENV PATH="$LIBFABRIC_DIR/include:$LIBFABRIC_DIR/lib:$PATH"
112-
RUN echo 'export LD_LIBRARY_PATH=$LIBFABRIC_DIR/lib:$LD_LIBRARY_PATH' >> $WORK_SPACE/pdc_env.sh && \
113-
echo 'export PATH=$LIBFABRIC_DIR/include:$LIBFABRIC_DIR/lib:$PATH' >> $WORK_SPACE/pdc_env.sh
114-
115-
116-
# Build and install Mercury
117-
WORKDIR $MERCURY_SRC_DIR
118-
ENV MERCURY_CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=$MERCURY_DIR -DCMAKE_C_COMPILER=mpicc -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DNA_USE_OFI=ON -DNA_USE_SM=OFF -DNA_OFI_TESTING_PROTOCOL=tcp "
119-
RUN git checkout v2.2.0 \
120-
mkdir -p build
121-
WORKDIR ${MERCURY_SRC_DIR}/build
122-
RUN cmake $MERCURY_CMAKE_FLAGS ../ && \
101+
make check && \
102+
cd $MERCURY_SRC_DIR && \
103+
git checkout v2.2.0 && \
104+
mkdir -p build && \
105+
cd ${MERCURY_SRC_DIR}/build && \
106+
cmake $MERCURY_CMAKE_FLAGS ../ && \
123107
make -j 16 && make install && \
124-
ctest
125-
126-
# Set the environment variables
127-
ENV LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
128-
ENV PATH="$MERCURY_DIR/include:$MERCURY_DIR/lib:$PATH"
129-
RUN echo 'export LD_LIBRARY_PATH=$MERCURY_DIR/lib:$LD_LIBRARY_PATH' >> $WORK_SPACE/pdc_env.sh \
130-
echo 'export PATH=$MERCURY_DIR/include:$MERCURY_DIR/lib:$PATH' >> $WORK_SPACE/pdc_env.sh
131-
108+
ctest && \
109+
apt-get autoremove -y && \
110+
apt-get clean && \
111+
rm -rf /var/lib/apt/lists/* && \
112+
rm -rf /tmp/* && \
113+
rm -rf /var/tmp/*
132114

133115
ENV PDC_CMAKE_FLAGS="-DBUILD_MPI_TESTING=ON -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DCMAKE_INSTALL_PREFIX=$PDC_DIR -DPDC_ENABLE_MPI=ON -DMERCURY_DIR=$MERCURY_DIR -DCMAKE_C_COMPILER=mpicc -DMPI_RUN_CMD=mpiexec "
134116

.github/workflows/clang-format-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
steps:
1010
- uses: actions/checkout@v2
1111
- name: Run clang-format style check for C programs.
12-
uses: DoozyX/clang-format-lint-action@v0.11
12+
uses: DoozyX/clang-format-lint-action@v0.18.1
1313
with:
1414
source: '.'
1515
extensions: 'c,h,cpp,hpp'

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,9 @@ build
1919

2020
# ignore docs build dir
2121
docs/build
22+
23+
# ignore venv
24+
**/*venv
25+
26+
# ignore .zed
27+
.zed

.gitlab-ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ perlmutter-no-cache-build:
2323
SUPERCOMPUTER: "perlmutter"
2424
MERCURY_DIR: "/global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
2525
script:
26-
- module load libfabric/1.15.2.0
26+
- module load libfabric
2727
- module list
2828
- mkdir -p ${PDC_BUILD_PATH}/perlmutter/no-cache
2929
- cd ${PDC_BUILD_PATH}/perlmutter/no-cache
@@ -51,7 +51,7 @@ perlmutter-cache-build:
5151
SUPERCOMPUTER: "perlmutter"
5252
MERCURY_DIR: "/global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
5353
script:
54-
- module load libfabric/1.15.2.0
54+
- module load libfabric
5555
- module list
5656
- mkdir -p ${PDC_BUILD_PATH}/perlmutter/cache
5757
- cd ${PDC_BUILD_PATH}/perlmutter/cache
@@ -374,7 +374,7 @@ perlmutter-metrics-build:
374374
SUPERCOMPUTER: "perlmutter"
375375
MERCURY_DIR: "/global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
376376
script:
377-
- module load libfabric/1.15.2.0
377+
- module load libfabric
378378
- module list
379379
- mkdir -p ${PDC_BUILD_PATH}/perlmutter/metrics
380380
- cd ${PDC_BUILD_PATH}/perlmutter/metrics

CMakeLists.txt

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ endif()
5555
# Version information
5656
#------------------------------------------------------------------------------
5757
set(PDC_VERSION_MAJOR "0")
58-
set(PDC_VERSION_MINOR "1")
58+
set(PDC_VERSION_MINOR "6")
5959
set(PDC_VERSION_PATCH "0")
6060
set(PDC_PACKAGE "pdc")
6161
set(PDC_PACKAGE_NAME "PDC")
@@ -198,6 +198,9 @@ if(SUPPRESS_IGNORABLE_WARNINGS)
198198
set(SUPPRESSED_LIST "-Wno-deprecated-non-prototype" ${SUPPRESSED_LIST})
199199
else()
200200
set(SUPPRESSED_LIST "-Wno-maybe-uninitialized" ${SUPPRESSED_LIST})
201+
set(SUPPRESSED_LIST "-Wno-alloc-size-larger-than" ${SUPPRESSED_LIST})
202+
# set(SUPPRESSED_LIST "-Wno-use-after-free" ${SUPPRESSED_LIST})
203+
set(SUPPRESSED_LIST "-Wno-stringop-truncation" ${SUPPRESSED_LIST})
201204
endif()
202205
set(SUPPRESSED_LIST "-Wno-sign-compare" ${SUPPRESSED_LIST})
203206
set(SUPPRESSED_LIST "-Wno-format" ${SUPPRESSED_LIST})
@@ -207,6 +210,8 @@ if(SUPPRESS_IGNORABLE_WARNINGS)
207210
set(SUPPRESSED_LIST "-Wno-unused-function" ${SUPPRESSED_LIST})
208211
set(SUPPRESSED_LIST "-Wno-unused-result" ${SUPPRESSED_LIST})
209212
set(SUPPRESSED_LIST "-Wno-unused-but-set-variable" ${SUPPRESSED_LIST})
213+
set(SUPPRESSED_LIST "-Wno-inline" ${SUPPRESSED_LIST})
214+
set(SUPPRESSED_LIST "-Wno-array-bounds" ${SUPPRESSED_LIST})
210215

211216
if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
212217
add_compile_options(${SUPPRESSED_LIST})
@@ -383,10 +388,10 @@ endif()
383388
option(PDC_SERVER_CACHE "Enable Server Caching." ON)
384389
if(PDC_SERVER_CACHE)
385390
set(PDC_SERVER_CACHE 1)
386-
set(PDC_SERVER_CACHE_MAX_GB "3" CACHE STRING "Max GB for server cache")
387-
set(PDC_SERVER_CACHE_FLUSH_TIME "30" CACHE STRING "Flush time for server cache")
391+
set(PDC_SERVER_CACHE_MAX_GB "32" CACHE STRING "Max GB for server cache")
392+
set(PDC_SERVER_IDLE_CACHE_FLUSH_TIME "3" CACHE STRING "Idle time to initiate flush from server cache")
388393

389-
add_compile_definitions(PDC_SERVER_CACHE_MAX_GB=${PDC_SERVER_CACHE_MAX_GB} PDC_SERVER_CACHE_FLUSH_TIME=${PDC_SERVER_CACHE_FLUSH_TIME})
394+
add_compile_definitions(PDC_SERVER_CACHE_MAX_GB=${PDC_SERVER_CACHE_MAX_GB} PDC_SERVER_IDLE_CACHE_FLUSH_TIME=${PDC_SERVER_IDLE_CACHE_FLUSH_TIME})
390395
endif()
391396

392397

@@ -482,6 +487,14 @@ if(PDC_ENABLE_SQLITE3)
482487
set(ENABLE_SQLITE3 1)
483488
endif()
484489

490+
#-----------------------------------------------------------------------------
491+
# ZFP option
492+
#-----------------------------------------------------------------------------
493+
option(PDC_ENABLE_ZFP "Enable ZFP." OFF)
494+
if(PDC_ENABLE_ZFP)
495+
set(ENABLE_ZFP 1)
496+
endif()
497+
485498
# Check availability of symbols
486499
#-----------------------------------------------------------------------------
487500
check_symbol_exists(malloc_usable_size "malloc.h" HAVE_MALLOC_USABLE_SIZE)
@@ -663,4 +676,4 @@ add_custom_target(format
663676
| xargs -0 clang-format -i -style=file && echo "... done"
664677
COMMENT "clang-format all source codes"
665678
VERBATIM
666-
)
679+
)

benchmark/idioms/CMakeLists.txt

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
cmake_minimum_required (VERSION 2.8.12)
2+
3+
# Setup cmake policies.
4+
foreach(p
5+
CMP0012
6+
CMP0013
7+
CMP0014
8+
CMP0022 # CMake 2.8.12
9+
CMP0025 # CMake 3.0
10+
CMP0053 # CMake 3.1
11+
CMP0054 # CMake 3.1
12+
CMP0074 # CMake 3.12
13+
CMP0075 # CMake 3.12
14+
CMP0083 # CMake 3.14
15+
CMP0093 # CMake 3.15
16+
)
17+
if(POLICY ${p})
18+
cmake_policy(SET ${p} NEW)
19+
endif()
20+
endforeach()
21+
22+
project(METADATA_JSON_LOADER C)
23+
24+
set(JMD_LDR_EXT_INCLUDE_DIRS "")
25+
set(JMD_LDR_EXT_LIBRARIES "")
26+
27+
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
28+
# set(JMD_DEBUG ON CACHE BOOL "Enable debug mode.")
29+
option(JMD_DEBUG_MODE "Enable debug mode." ON)
30+
if(JMD_DEBUG_MODE)
31+
add_definitions(-DJMD_DEBUG=1)
32+
endif()
33+
34+
option(USE_SYSTEM_MPI "Use system-installed MPI." ON)
35+
if(USE_SYSTEM_MPI)
36+
find_package(MPI)
37+
if(MPI_FOUND)
38+
add_definitions(-DJMD_LDR_ENABLE_MPI=1)
39+
SET(CMAKE_C_COMPILER ${MPI_C_COMPILER})
40+
SET(CMAKE_CXX_COMPILER ${MPI_CXX_COMPILER})
41+
set(JMD_LDR_EXT_INCLUDE_DIRS ${MPI_C_INCLUDE_PATH}
42+
${JMD_LDR_EXT_INCLUDE_DIRS}
43+
)
44+
set(JMD_LDR_EXT_LIBRARIES ${MPI_C_LIBRARIES} ${JMD_LDR_EXT_LIBRARIES})
45+
endif()
46+
endif()
47+
48+
find_package(PDC REQUIRED)
49+
if(PDC_FOUND)
50+
#message(STATUS "PDC include directory: ${PDC_INCLUDE_DIR}")
51+
set(JMD_LDR_EXT_INCLUDE_DIRS ${PDC_INCLUDE_DIR}
52+
${JMD_LDR_EXT_INCLUDE_DIRS}
53+
)
54+
set(JMD_LDR_EXT_LIBRARIES pdc ${JMD_LDR_EXT_LIBRARIES})
55+
endif()
56+
57+
58+
add_library(cjson cjson/cJSON.c)
59+
60+
add_executable(metadata_json_loader
61+
metadata_json_loader.c
62+
metadata_json_processor.h
63+
metadata_json_printer.c
64+
metadata_json_printer.h
65+
metadata_json_importer.c
66+
metadata_json_importer.h)
67+
target_link_libraries(metadata_json_loader ${PDC_EXT_LIB_DEPENDENCIES} pdc cjson ${JMD_LDR_EXT_LIBRARIES})
68+
target_include_directories(metadata_json_loader PUBLIC ${PDC_EXT_INCLUDE_DEPENDENCIES} ${JMD_LDR_EXT_INCLUDE_DIRS})

0 commit comments

Comments
 (0)