Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: IDIOMS Update & BULKI v0.1 #203

Open
wants to merge 872 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
872 commits
Select commit Hold shift + click to select a range
b32bc76
address conflict
zhangwei217245 Oct 13, 2023
52ab0d7
address conflict
zhangwei217245 Oct 13, 2023
ec47fe3
address conflict
zhangwei217245 Oct 13, 2023
154aa14
address conflict
zhangwei217245 Oct 13, 2023
1feacf4
updating scripts
zhangwei217245 Oct 13, 2023
4f79787
Merge branch 'stable' into develop
jeanbez Oct 13, 2023
bc36933
Merge branch 'develop' into develop
jeanbez Oct 13, 2023
d8f962c
updating scripts
zhangwei217245 Oct 13, 2023
c7a55d7
Merge branch 'develop' of github.com:zhangwei217245/pdc into develop
zhangwei217245 Oct 13, 2023
f63dc22
:wq
zhangwei217245 Oct 13, 2023
0183f1f
update container config
zhangwei217245 Oct 14, 2023
48a370f
Merge branch 'develop' of github.com:zhangwei217245/pdc into feature/…
zhangwei217245 Oct 14, 2023
ec6c6bc
fix cmake mercury_util not found issue
zhangwei217245 Oct 14, 2023
f99a537
update for Julia support
zhangwei217245 Oct 14, 2023
0751a12
fix hdf5.h not found for src/tools
zhangwei217245 Oct 14, 2023
c446108
update container config
zhangwei217245 Oct 14, 2023
9911445
update container config
zhangwei217245 Oct 14, 2023
8296539
update container config
zhangwei217245 Oct 14, 2023
d1303da
update container config
zhangwei217245 Oct 14, 2023
88a75e6
update container config
zhangwei217245 Oct 14, 2023
923ec93
update container config
zhangwei217245 Oct 14, 2023
9c3fbc4
update container config
zhangwei217245 Oct 14, 2023
2f2c073
update container config
zhangwei217245 Oct 14, 2023
49ef572
update container config
zhangwei217245 Oct 14, 2023
199c1bb
update container config
zhangwei217245 Oct 15, 2023
7fc75f0
add libhdf5-dev for Github Actions
zhangwei217245 Oct 16, 2023
05511d7
Merge branch 'develop' of github.com:zhangwei217245/pdc into feature/…
zhangwei217245 Oct 16, 2023
11c8cec
update CMake for HDF5 in tools
zhangwei217245 Oct 17, 2023
71a23d5
update logic for finding HDF5
zhangwei217245 Oct 17, 2023
5e01ca9
update
zhangwei217245 Oct 17, 2023
d023c61
remove use system hdf5
zhangwei217245 Oct 17, 2023
06cff1c
delete useless find library
zhangwei217245 Oct 17, 2023
025f977
update findHDF5
zhangwei217245 Oct 17, 2023
fd0e853
update findHDF5
zhangwei217245 Oct 17, 2023
a44f8a0
update
zhangwei217245 Oct 18, 2023
3bb2529
update
zhangwei217245 Oct 18, 2023
9fe8772
update
zhangwei217245 Oct 18, 2023
71cf8d8
update
zhangwei217245 Oct 18, 2023
ca8e59d
Feature/dart (#11)
zhangwei217245 Oct 18, 2023
1b6d60d
Use cc on Perlmutter (#161)
houjun Oct 20, 2023
67791ef
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Oct 20, 2023
ba6dc4b
Merge branch 'develop' of github.com:zhangwei217245/pdc into feature/…
zhangwei217245 Oct 20, 2023
75aef58
update with fixes on tools and llsm example
zhangwei217245 Oct 20, 2023
d7b09d0
add gitignore for llsm
zhangwei217245 Oct 20, 2023
64965eb
update gitignore
zhangwei217245 Oct 20, 2023
ef3efe6
Feature/dart (#12)
zhangwei217245 Oct 20, 2023
096831e
fix formatting
zhangwei217245 Oct 20, 2023
d22c5c3
update clangformat10
zhangwei217245 Oct 20, 2023
ca21f4d
update base dockerfile
zhangwei217245 Oct 23, 2023
c5a2bcc
conflict addressed
zhangwei217245 Oct 23, 2023
46b5c16
Add clang-format10 to docker container. Also fixed clang-format.
zhangwei217245 Oct 23, 2023
bd46c46
Fix pdc ls (#154)
houjun Oct 23, 2023
8cdcaaa
Merge branch 'develop' into develop
jeanbez Oct 23, 2023
6d1c504
update documentation
zhangwei217245 Oct 23, 2023
560bea5
update document
zhangwei217245 Oct 23, 2023
f43013a
Merge branch 'develop' of github.com:zhangwei217245/pdc into feature/…
zhangwei217245 Oct 23, 2023
4ef1cfc
sync branch
zhangwei217245 Oct 23, 2023
13407fb
no UUID module is required
zhangwei217245 Oct 26, 2023
bbc7641
Merge branch 'feature/dart' of github.com:zhangwei217245/pdc into fea…
zhangwei217245 Oct 26, 2023
9f1a50c
update document and make UUID an optional package
zhangwei217245 Oct 26, 2023
503b206
Merge branch 'develop' of github.com:zhangwei217245/pdc into feature/…
zhangwei217245 Oct 31, 2023
d86ee17
update docker repo name
zhangwei217245 Oct 31, 2023
177a991
updating docker repo name and make UUID optional
zhangwei217245 Oct 31, 2023
1e03014
Complete support for Docker and Github Codespace (#157)
zhangwei217245 Oct 31, 2023
d1a57c0
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Nov 26, 2023
23b1fdc
SQLite and RocksDB support for KVtags (#165)
houjun Nov 26, 2023
f110103
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Nov 26, 2023
35e375f
fix round for tag delete
zhangwei217245 Nov 26, 2023
55943e5
Merge branch 'develop' of github.com:zhangwei217245/pdc into feature/…
zhangwei217245 Nov 26, 2023
3a634a0
update test
zhangwei217245 Nov 26, 2023
8251b1b
update
zhangwei217245 Nov 28, 2023
8f3c9ba
Merge branch 'feature/dart' of github.com:zhangwei217245/pdc into fea…
zhangwei217245 Nov 28, 2023
5063433
bulki update
zhangwei217245 Nov 29, 2023
1059c32
update
zhangwei217245 Nov 30, 2023
a9d235d
update
zhangwei217245 Nov 30, 2023
de99341
update
zhangwei217245 Dec 1, 2023
99eb753
BULKI base type worked
zhangwei217245 Dec 1, 2023
ad32b38
BULKI all tests done
zhangwei217245 Dec 1, 2023
d394641
update
zhangwei217245 Dec 1, 2023
cbeb90c
update
zhangwei217245 Dec 4, 2023
1851dc4
new index code
zhangwei217245 Dec 7, 2023
c37db05
update
zhangwei217245 Dec 7, 2023
ba1bb37
update
zhangwei217245 Dec 7, 2023
f5f9313
update
zhangwei217245 Dec 7, 2023
0331a49
update
zhangwei217245 Dec 7, 2023
ed9e9f3
update
zhangwei217245 Dec 7, 2023
e9fb48e
update
zhangwei217245 Dec 7, 2023
8107004
update
zhangwei217245 Dec 7, 2023
76c6c3d
update
zhangwei217245 Dec 7, 2023
f028573
update new test
zhangwei217245 Dec 9, 2023
67d27cf
update csv bench
zhangwei217245 Dec 9, 2023
c08a3c9
update
zhangwei217245 Dec 11, 2023
35df2db
update script
zhangwei217245 Dec 11, 2023
b5e7f4d
update script
zhangwei217245 Dec 11, 2023
c7873ca
update
zhangwei217245 Dec 11, 2023
4b047af
adding python scripts for generating large metadata set for LLSM appl…
zhangwei217245 Jan 23, 2024
36bc14a
update json schema
zhangwei217245 Jan 25, 2024
484ab23
better json validator
zhangwei217245 Jan 30, 2024
b0ca27e
update importer
zhangwei217245 Feb 2, 2024
8a19b53
update code for non-MPI compatibility
zhangwei217245 Feb 5, 2024
023181a
update llsm converter
zhangwei217245 Feb 5, 2024
6d9d6c7
update LLSM data converter
zhangwei217245 Feb 6, 2024
20a5561
split files
zhangwei217245 Feb 14, 2024
96f9cd4
update .gitignore
zhangwei217245 Feb 14, 2024
b25b74a
update
zhangwei217245 Feb 14, 2024
05ae572
update
zhangwei217245 Feb 14, 2024
9bc5735
update
zhangwei217245 Feb 14, 2024
8523a26
add timing info
zhangwei217245 Feb 14, 2024
5d3fff5
add timing info
zhangwei217245 Feb 14, 2024
187ef11
update
zhangwei217245 Feb 14, 2024
7dd07b7
update tag size
zhangwei217245 Feb 14, 2024
f69e5fa
detect object creation failure
zhangwei217245 Feb 14, 2024
af708c2
update
zhangwei217245 Feb 14, 2024
70acdd8
update
zhangwei217245 Feb 14, 2024
a666d79
update
zhangwei217245 Feb 14, 2024
1c9d0d4
update object name with date
zhangwei217245 Feb 14, 2024
3ebdca5
update object name with date
zhangwei217245 Feb 14, 2024
1baa59b
update object name with date
zhangwei217245 Feb 14, 2024
8667248
update object name with date
zhangwei217245 Feb 14, 2024
f1b2eb6
update object name with date
zhangwei217245 Feb 14, 2024
f3f422f
update object name with date
zhangwei217245 Feb 14, 2024
5f9802f
update object name with date
zhangwei217245 Feb 14, 2024
f4cd21a
update for robustness
zhangwei217245 Feb 15, 2024
9259de4
update
zhangwei217245 Feb 15, 2024
34fa92f
update
zhangwei217245 Feb 15, 2024
af30604
update JMD_DEBUG option
zhangwei217245 Feb 20, 2024
1298e8d
update output for overall output
zhangwei217245 Feb 21, 2024
14eaa29
update inttypes.h
zhangwei217245 Feb 21, 2024
d0dec94
update inttypes.h
zhangwei217245 Feb 21, 2024
e3b3571
udpate
zhangwei217245 Feb 22, 2024
d7c4c65
update
zhangwei217245 Feb 22, 2024
7f26a46
update
zhangwei217245 Feb 22, 2024
eefc13b
update
zhangwei217245 Feb 22, 2024
7678e41
update extractor
zhangwei217245 Feb 22, 2024
a4bb29d
update inttypes.h
zhangwei217245 Feb 23, 2024
73067ef
update converter
zhangwei217245 Feb 23, 2024
81b66cc
update converter
zhangwei217245 Feb 23, 2024
4ee3827
update converter
zhangwei217245 Feb 23, 2024
4246f25
update converter
zhangwei217245 Feb 23, 2024
de49652
update importer information
zhangwei217245 Feb 23, 2024
f8d5f8d
Update getting_started.rst (#184)
houjun Feb 23, 2024
38d5f77
Removing gres option for ctest (#182)
hyunjuooh Feb 23, 2024
33c014a
fix issue
zhangwei217245 Feb 24, 2024
01c6e55
fixed search issues
zhangwei217245 Feb 26, 2024
baeb877
fixed search issues
zhangwei217245 Feb 26, 2024
023b197
update
zhangwei217245 Feb 27, 2024
2509ce2
update
zhangwei217245 Feb 27, 2024
50b241b
update
zhangwei217245 Feb 28, 2024
ee24384
update
zhangwei217245 Mar 1, 2024
062482b
update
zhangwei217245 Mar 5, 2024
717f32e
update
zhangwei217245 Mar 5, 2024
aaf9f56
update
zhangwei217245 Mar 5, 2024
e7ebdc0
update for infix
zhangwei217245 Mar 6, 2024
3e91466
update
zhangwei217245 Mar 7, 2024
a19a8ba
update
zhangwei217245 Mar 7, 2024
c5667cb
index persistence still needs improvement
zhangwei217245 Mar 7, 2024
014600b
update
zhangwei217245 Mar 8, 2024
7bb4f4a
update
zhangwei217245 Mar 12, 2024
5b1f4fb
update
zhangwei217245 Mar 14, 2024
b639803
Merge branch 'feature/dart' of github.com:zhangwei217245/pdc into fea…
zhangwei217245 Mar 14, 2024
0f326da
enable cache by default (#187)
jeanbez Mar 18, 2024
5a6e943
Removing PDC macro (#189)
hyunjuooh Mar 19, 2024
c7c40fc
update
zhangwei217245 Mar 20, 2024
d9e042e
range query done'
zhangwei217245 Mar 21, 2024
90c0d39
range query local test passed
zhangwei217245 Mar 21, 2024
006db61
multi-condition in progress
zhangwei217245 Mar 21, 2024
366878b
Merge branch 'feature/dart' of github.com:zhangwei217245/pdc into fea…
zhangwei217245 Mar 21, 2024
e85c7be
clean up code
zhangwei217245 Mar 21, 2024
0964429
add comments
zhangwei217245 Mar 21, 2024
839b6b8
new benchmark
zhangwei217245 Mar 22, 2024
2442da2
update
zhangwei217245 Mar 22, 2024
e0e318e
update range query test
zhangwei217245 Mar 22, 2024
5ce2ede
update cmake:
zhangwei217245 Mar 22, 2024
57a7228
update
zhangwei217245 Mar 22, 2024
3571428
update
zhangwei217245 Mar 22, 2024
7458a67
update
zhangwei217245 Mar 23, 2024
82f642c
update
zhangwei217245 Mar 23, 2024
22362af
someta range query
zhangwei217245 Mar 24, 2024
4aadae8
someta range query
zhangwei217245 Mar 24, 2024
ba875fe
someta range query
zhangwei217245 Mar 24, 2024
a1a4120
fix value serialization
zhangwei217245 Mar 25, 2024
ef53828
update
zhangwei217245 Mar 25, 2024
8742f3e
update double free
zhangwei217245 Mar 25, 2024
46a6a00
update
zhangwei217245 Mar 26, 2024
44b6b11
update
zhangwei217245 Mar 26, 2024
5966515
update
zhangwei217245 Mar 26, 2024
939e893
fixed pointer issue
zhangwei217245 Apr 5, 2024
ebc5d5c
rb_tree delete fixed, now need to check index persistence
zhangwei217245 Apr 5, 2024
d8ef735
update
zhangwei217245 Apr 11, 2024
0140f7a
update
zhangwei217245 Apr 11, 2024
c5f7f53
update
zhangwei217245 Apr 11, 2024
33a4e6f
update
zhangwei217245 Apr 11, 2024
ec2f206
update
zhangwei217245 Apr 11, 2024
dabd969
update
zhangwei217245 Apr 11, 2024
c35470f
update
zhangwei217245 Apr 11, 2024
04dfb51
update
zhangwei217245 Apr 11, 2024
88dc93c
update
zhangwei217245 Apr 11, 2024
766bb08
update
zhangwei217245 Apr 11, 2024
df62c2b
update
zhangwei217245 Apr 11, 2024
c4821c0
update
zhangwei217245 Apr 11, 2024
6533685
update
zhangwei217245 Apr 11, 2024
90567f1
BDCATS fix (#193)
houjun Apr 11, 2024
5462fc0
update
zhangwei217245 Apr 12, 2024
f580903
update
zhangwei217245 Apr 12, 2024
5e5383a
update
zhangwei217245 Apr 12, 2024
2653b4f
update
zhangwei217245 Apr 12, 2024
db2b23d
update
zhangwei217245 Apr 12, 2024
172ea2d
update
zhangwei217245 Apr 12, 2024
345f745
update
zhangwei217245 Apr 12, 2024
a61cfa0
update
zhangwei217245 Apr 12, 2024
a0b2d40
update
zhangwei217245 Apr 12, 2024
617383e
update
zhangwei217245 Apr 12, 2024
fae5d74
update
zhangwei217245 Apr 12, 2024
08da164
update
zhangwei217245 Apr 12, 2024
8768bc3
clean up code
zhangwei217245 Apr 12, 2024
8e2ad1a
update
zhangwei217245 Apr 15, 2024
b97f25c
update
zhangwei217245 Apr 17, 2024
b790540
update
zhangwei217245 Apr 17, 2024
06924c9
resolve conflict
zhangwei217245 Apr 19, 2024
e825045
resolve conflict with develop
zhangwei217245 Apr 19, 2024
65be81c
update test sh
zhangwei217245 Apr 19, 2024
fe742cf
update
zhangwei217245 Apr 19, 2024
63bdbbd
update
zhangwei217245 Apr 19, 2024
53f582d
Merge branch 'feature/dart' of github.com:zhangwei217245/pdc into fea…
zhangwei217245 Apr 19, 2024
2f5d860
update
zhangwei217245 Apr 19, 2024
7c17381
update
zhangwei217245 Apr 19, 2024
085f58d
update
zhangwei217245 Apr 19, 2024
7d22cf0
update
zhangwei217245 Apr 19, 2024
cc2881e
update
zhangwei217245 Apr 19, 2024
69c1c03
update
zhangwei217245 Apr 19, 2024
ef8a3ef
update
zhangwei217245 Apr 23, 2024
3be7da2
update
zhangwei217245 Apr 23, 2024
61ccc59
IDIOMS persistence DONE
zhangwei217245 Apr 23, 2024
8f3d053
update
zhangwei217245 Apr 23, 2024
bb3ee9f
remove old kvtag benchmarks
zhangwei217245 May 28, 2024
f7e12a6
update
zhangwei217245 Jun 11, 2024
7085ea4
update
zhangwei217245 Jun 11, 2024
861ab85
update changes
zhangwei217245 Jun 12, 2024
57987f6
resolve conflict
zhangwei217245 Jun 12, 2024
5575907
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Jun 12, 2024
6b146bc
dart info
zhangwei217245 Jun 18, 2024
377f20c
update
zhangwei217245 Jun 22, 2024
6ad301f
multi data type for the same key, supported now
zhangwei217245 Jun 24, 2024
45562e0
Monitoring changes from feature/dart to develop (#18)
zhangwei217245 Jun 24, 2024
05c35cf
fix CMakeLists.txt
zhangwei217245 Jun 24, 2024
b14b26b
update
zhangwei217245 Jun 24, 2024
9a14049
update
zhangwei217245 Jun 24, 2024
bdaede9
update format
zhangwei217245 Jun 24, 2024
9df1b3c
update BULKI interface order
zhangwei217245 Jun 24, 2024
abd329b
BULKI API sorted
zhangwei217245 Jun 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
170 changes: 76 additions & 94 deletions .docker/dev_base.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,55 @@
ARG ARCH
FROM ${ARCH}ubuntu:jammy

RUN echo "ARCH=${ARCH}" && sleep 3

ARG ARCH_CODE

RUN echo "ARCH_CODE=${ARCH_CODE}" && sleep 3
ENV JULIA_HOME=/opt/julia
ENV WORK_SPACE=/home/project
ENV LIBFABRIC_SRC_DIR=$WORK_SPACE/source/libfabric
ENV LIBFABRIC_DIR=$WORK_SPACE/install/libfabric
ENV MERCURY_SRC_DIR=$WORK_SPACE/source/mercury
ENV MERCURY_DIR=$WORK_SPACE/install/mercury

ENV PDC_SRC_DIR=$WORK_SPACE/source/pdc
ENV PDC_DIR=$WORK_SPACE/install/pdc

ENV LD_LIBRARY_PATH="$LIBFABRIC_DIR/lib:$LD_LIBRARY_PATH"
ENV PATH="$LIBFABRIC_DIR/include:$LIBFABRIC_DIR/lib:$PATH"
ENV LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
ENV PATH="$MERCURY_DIR/include:$MERCURY_DIR/lib:$PATH"


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 "
ENV CLANG_FORMAT_PATH=$WORK_SPACE/software/clang-format-lint-action/clang-format/clang-format10

# Install necessary tools, MPICH, UUID library and developer files
RUN apt-get update && apt-get install -y \
RUN echo "ARCH=${ARCH}" && echo "ARCH_CODE=${ARCH_CODE}" && sleep 3 && mkdir -p $WORK_SPACE && \
mkdir -p $WORK_SPACE/software && \
mkdir -p $WORK_SPACE/source && \
mkdir -p $WORK_SPACE/install && \
mkdir -p $LIBFABRIC_SRC_DIR && \
mkdir -p $MERCURY_SRC_DIR && \
mkdir -p $PDC_SRC_DIR && \
mkdir -p $LIBFABRIC_DIR && \
mkdir -p $MERCURY_DIR && \
mkdir -p $PDC_DIR && \
rm -rf $LIBFABRIC_SRC_DIR/* && \
rm -rf $MERCURY_SRC_DIR/* && \
rm -rf $PDC_SRC_DIR/* && \
rm -rf $LIBFABRIC_DIR/* && \
rm -rf $MERCURY_DIR/* && \
rm -rf $PDC_DIR/* && \
echo "export LIBFABRIC_SRC_DIR=$WORK_SPACE/source/libfabric" > $WORK_SPACE/pdc_env.sh && \
echo "export LIBFABRIC_DIR=$WORK_SPACE/install/libfabric" >> $WORK_SPACE/pdc_env.sh && \
echo "export MERCURY_SRC_DIR=$WORK_SPACE/source/mercury" >> $WORK_SPACE/pdc_env.sh && \
echo "export MERCURY_DIR=$WORK_SPACE/install/mercury" >> $WORK_SPACE/pdc_env.sh && \
echo "export PDC_SRC_DIR=$WORK_SPACE/source/pdc" >> $WORK_SPACE/pdc_env.sh && \
echo "export PDC_DIR=$WORK_SPACE/install/pdc" >> $WORK_SPACE/pdc_env.sh && \
echo 'export LD_LIBRARY_PATH=$LIBFABRIC_DIR/lib:$LD_LIBRARY_PATH' >> $WORK_SPACE/pdc_env.sh && \
echo 'export PATH=$LIBFABRIC_DIR/include:$LIBFABRIC_DIR/lib:$PATH' >> $WORK_SPACE/pdc_env.sh && \
echo 'export LD_LIBRARY_PATH=$MERCURY_DIR/lib:$LD_LIBRARY_PATH' >> $WORK_SPACE/pdc_env.sh \
echo 'export PATH=$MERCURY_DIR/include:$MERCURY_DIR/lib:$PATH' >> $WORK_SPACE/pdc_env.sh && \
apt-get update && apt-get install -y \
build-essential \
git \
mpich \
Expand All @@ -28,107 +70,47 @@ RUN apt-get update && apt-get install -y \
wget \
axel \
curl \
bc \
vim \
nano \
gdb \
cgdb \
curl \
valgrind \
python3

# Install Oh My Bash
RUN bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)" && \
sed -i 's/OSH_THEME="font"/OSH_THEME="powerline-multiline"/g' ~/.bashrc

# Install Julia

RUN echo "https://julialang-s3.julialang.org/bin/linux/aarch64/1.6/julia-1.6.7-linux-aarch64.tar.gz" > /julia_url_arm64v8.txt && \
echo "https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.7-linux-x86_64.tar.gz" > /julia_url_amd64.txt

RUN echo $(cat /julia_url_${ARCH_CODE}.txt) && sleep 3

RUN mkdir -p /opt/julia && wget -O - $(cat /julia_url_${ARCH_CODE}.txt) | tar -xz -C /opt/julia --strip-components=1 && \
ln -s /opt/julia/bin/julia /usr/local/bin/julia

RUN rm -rf /tmp/julia_url_*.txt

ENV JULIA_HOME=/opt/julia

# Install Rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
RUN echo 'source $HOME/.cargo/env' >> ~/.bashrc


# Set WORK_SPACE environment variable and create necessary directories
ENV WORK_SPACE=/home/project
RUN mkdir -p $WORK_SPACE

# Install clang-format repo
RUN mkdir -p $WORK_SPACE/software
RUN cd $WORK_SPACE/software && git clone https://github.com/DoozyX/clang-format-lint-action.git
ENV CLANG_FORMAT_PATH=$WORK_SPACE/software/clang-format-lint-action/clang-format/clang-format10

# Clone the repositories
WORKDIR $WORK_SPACE/source
RUN git clone https://github.com/ofiwg/libfabric.git && \
git clone https://github.com/mercury-hpc/mercury.git --recursive

ENV LIBFABRIC_SRC_DIR=$WORK_SPACE/source/libfabric
ENV LIBFABRIC_DIR=$WORK_SPACE/install/libfabric
ENV MERCURY_SRC_DIR=$WORK_SPACE/source/mercury
ENV MERCURY_DIR=$WORK_SPACE/install/mercury

ENV PDC_SRC_DIR=$WORK_SPACE/source/pdc
ENV PDC_DIR=$WORK_SPACE/install/pdc

RUN mkdir -p $LIBFABRIC_SRC_DIR && \
mkdir -p $MERCURY_SRC_DIR && \
mkdir -p $PDC_SRC_DIR && \
mkdir -p $LIBFABRIC_DIR && \
mkdir -p $MERCURY_DIR && \
mkdir -p $PDC_DIR


# Save the environment variables to a file
RUN echo "export LIBFABRIC_SRC_DIR=$WORK_SPACE/source/libfabric" > $WORK_SPACE/pdc_env.sh && \
echo "export LIBFABRIC_DIR=$WORK_SPACE/install/libfabric" >> $WORK_SPACE/pdc_env.sh && \
echo "export MERCURY_SRC_DIR=$WORK_SPACE/source/mercury" >> $WORK_SPACE/pdc_env.sh && \
echo "export MERCURY_DIR=$WORK_SPACE/install/mercury" >> $WORK_SPACE/pdc_env.sh && \
echo "export PDC_SRC_DIR=$WORK_SPACE/source/pdc" >> $WORK_SPACE/pdc_env.sh && \
echo "export PDC_DIR=$WORK_SPACE/install/pdc" >> $WORK_SPACE/pdc_env.sh


# Build and install libfabric
WORKDIR $LIBFABRIC_SRC_DIR
RUN git checkout v1.18.0 && \
python3 && \
cd $WORK_SPACE/software && \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)" && \
sed -i 's/OSH_THEME="font"/OSH_THEME="powerline-multiline"/g' ~/.bashrc && \
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 && \
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 && \
echo $(cat $WORK_SPACE/software/julia_url_${ARCH_CODE}.txt) && sleep 3 && \
mkdir -p /opt/julia && wget -O - $(cat $WORK_SPACE/software/julia_url_${ARCH_CODE}.txt) | tar -xz -C /opt/julia --strip-components=1 && \
ln -s /opt/julia/bin/julia /usr/local/bin/julia && \
rm -rf $WORK_SPACE/software/julia_url_*.txt && \
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
echo 'source $HOME/.cargo/env' >> ~/.bashrc && \
git clone https://github.com/DoozyX/clang-format-lint-action.git && \
git clone https://github.com/ofiwg/libfabric.git ${LIBFABRIC_SRC_DIR} && \
git clone https://github.com/mercury-hpc/mercury.git --recursive ${MERCURY_SRC_DIR} && \
cd $LIBFABRIC_SRC_DIR && \
git checkout v1.18.0 && \
./autogen.sh && \
./configure --prefix=$LIBFABRIC_DIR CC=mpicc CFLAG="-O2" && \
make clean && \
make -j 8 && make install && \
make check

ENV LD_LIBRARY_PATH="$LIBFABRIC_DIR/lib:$LD_LIBRARY_PATH"
ENV PATH="$LIBFABRIC_DIR/include:$LIBFABRIC_DIR/lib:$PATH"
RUN echo 'export LD_LIBRARY_PATH=$LIBFABRIC_DIR/lib:$LD_LIBRARY_PATH' >> $WORK_SPACE/pdc_env.sh && \
echo 'export PATH=$LIBFABRIC_DIR/include:$LIBFABRIC_DIR/lib:$PATH' >> $WORK_SPACE/pdc_env.sh


# Build and install Mercury
WORKDIR $MERCURY_SRC_DIR
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 "
RUN git checkout v2.2.0 \
mkdir -p build
WORKDIR ${MERCURY_SRC_DIR}/build
RUN cmake $MERCURY_CMAKE_FLAGS ../ && \
make check && \
cd $MERCURY_SRC_DIR && \
git checkout v2.2.0 && \
mkdir -p build && \
cd ${MERCURY_SRC_DIR}/build && \
cmake $MERCURY_CMAKE_FLAGS ../ && \
make -j 16 && make install && \
ctest

# Set the environment variables
ENV LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
ENV PATH="$MERCURY_DIR/include:$MERCURY_DIR/lib:$PATH"
RUN echo 'export LD_LIBRARY_PATH=$MERCURY_DIR/lib:$LD_LIBRARY_PATH' >> $WORK_SPACE/pdc_env.sh \
echo 'export PATH=$MERCURY_DIR/include:$MERCURY_DIR/lib:$PATH' >> $WORK_SPACE/pdc_env.sh

ctest && \
apt-get autoremove -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /tmp/* && \
rm -rf /var/tmp/*

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 "

Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,9 @@ build

# ignore docs build dir
docs/build

# ignore venv
**/*venv

# ignore .zed
.zed
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,11 @@ if(SUPPRESS_IGNORABLE_WARNINGS)
set(SUPPRESSED_LIST "-Wno-unused-function" ${SUPPRESSED_LIST})
set(SUPPRESSED_LIST "-Wno-unused-result" ${SUPPRESSED_LIST})
set(SUPPRESSED_LIST "-Wno-unused-but-set-variable" ${SUPPRESSED_LIST})
set(SUPPRESSED_LIST "-Wno-inline" ${SUPPRESSED_LIST})
set(SUPPRESSED_LIST "-Wno-alloc-size-larger-than" ${SUPPRESSED_LIST})
set(SUPPRESSED_LIST "-Wno-array-bounds" ${SUPPRESSED_LIST})
set(SUPPRESSED_LIST "-Wno-stringop-truncation" ${SUPPRESSED_LIST})
set(SUPPRESSED_LIST "-Wno-use-after-free" ${SUPPRESSED_LIST})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we suppressing those?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these are some warnings that can be ignored. Given the complexity of our PDC implementation, these warnings are not very sense-making in our project and there is marginal value for fixing these warnings in the code.

We need a cleaner compilation log to highlight the compilation errors that really matters.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-Wno-use-after-free should probably be removed from here, is there an example code segment and compiler warning message that shows it is not helping?


if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
add_compile_options(${SUPPRESSED_LIST})
Expand Down
68 changes: 68 additions & 0 deletions benchmark/idioms/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
cmake_minimum_required (VERSION 2.8.12)

# Setup cmake policies.
foreach(p
CMP0012
CMP0013
CMP0014
CMP0022 # CMake 2.8.12
CMP0025 # CMake 3.0
CMP0053 # CMake 3.1
CMP0054 # CMake 3.1
CMP0074 # CMake 3.12
CMP0075 # CMake 3.12
CMP0083 # CMake 3.14
CMP0093 # CMake 3.15
)
if(POLICY ${p})
cmake_policy(SET ${p} NEW)
endif()
endforeach()

project(METADATA_JSON_LOADER C)

set(JMD_LDR_EXT_INCLUDE_DIRS "")
set(JMD_LDR_EXT_LIBRARIES "")

set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
# set(JMD_DEBUG ON CACHE BOOL "Enable debug mode.")
option(JMD_DEBUG_MODE "Enable debug mode." ON)
if(JMD_DEBUG_MODE)
add_definitions(-DJMD_DEBUG=1)
endif()

option(USE_SYSTEM_MPI "Use system-installed MPI." ON)
if(USE_SYSTEM_MPI)
find_package(MPI)
if(MPI_FOUND)
add_definitions(-DJMD_LDR_ENABLE_MPI=1)
SET(CMAKE_C_COMPILER ${MPI_C_COMPILER})
SET(CMAKE_CXX_COMPILER ${MPI_CXX_COMPILER})
set(JMD_LDR_EXT_INCLUDE_DIRS ${MPI_C_INCLUDE_PATH}
${JMD_LDR_EXT_INCLUDE_DIRS}
)
set(JMD_LDR_EXT_LIBRARIES ${MPI_C_LIBRARIES} ${JMD_LDR_EXT_LIBRARIES})
endif()
endif()

find_package(PDC REQUIRED)
if(PDC_FOUND)
#message(STATUS "PDC include directory: ${PDC_INCLUDE_DIR}")
set(JMD_LDR_EXT_INCLUDE_DIRS ${PDC_INCLUDE_DIR}
${JMD_LDR_EXT_INCLUDE_DIRS}
)
set(JMD_LDR_EXT_LIBRARIES pdc ${JMD_LDR_EXT_LIBRARIES})
endif()


add_library(cjson cjson/cJSON.c)

add_executable(metadata_json_loader
metadata_json_loader.c
metadata_json_processor.h
metadata_json_printer.c
metadata_json_printer.h
metadata_json_importer.c
metadata_json_importer.h)
target_link_libraries(metadata_json_loader ${PDC_EXT_LIB_DEPENDENCIES} pdc cjson ${JMD_LDR_EXT_LIBRARIES})
target_include_directories(metadata_json_loader PUBLIC ${PDC_EXT_INCLUDE_DEPENDENCIES} ${JMD_LDR_EXT_INCLUDE_DIRS})
Loading
Loading