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

Synchronize stable with develop branch #172

Merged
merged 280 commits into from
Jan 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
280 commits
Select commit Hold shift + click to select a range
8963964
fix data type
zhangwei217245 Apr 2, 2023
339d3e4
fix data type
zhangwei217245 Apr 2, 2023
ff146ca
add client side statistics
zhangwei217245 Apr 2, 2023
33e3fdf
add client side statistics
zhangwei217245 Apr 2, 2023
150a736
fix format
zhangwei217245 Apr 2, 2023
1e6d53b
clang formatter
zhangwei217245 Apr 3, 2023
84e7675
update CMake
zhangwei217245 Apr 3, 2023
54a9419
update CMake
zhangwei217245 Apr 3, 2023
3a8f63e
update CMake
zhangwei217245 Apr 3, 2023
dfa1e50
free allocated memory properly
zhangwei217245 Apr 3, 2023
f1a4d5c
Merge branch 'develop' into develop
houjun Apr 3, 2023
c6c0be6
clang format
zhangwei217245 Apr 3, 2023
2efb36c
Merge branch 'develop' of github.com:zhangwei217245/pdc into develop
zhangwei217245 Apr 3, 2023
cb6f440
clang format
zhangwei217245 Apr 3, 2023
74d7267
clang-format-10
zhangwei217245 Apr 3, 2023
25196ed
change file name
zhangwei217245 Apr 3, 2023
50d1001
address review comments
zhangwei217245 Apr 4, 2023
8cdccda
update llsm importer
zhangwei217245 Apr 4, 2023
6ebb5a7
update llsm importer
zhangwei217245 Apr 4, 2023
8dfd43f
update server checkpoint intervals
zhangwei217245 Apr 4, 2023
5e46fd0
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Apr 4, 2023
752aea8
update gitignore
zhangwei217245 Apr 4, 2023
ef7278d
adding job scripts
zhangwei217245 Apr 5, 2023
d34ce8b
adding one debugging msg
zhangwei217245 Apr 5, 2023
d78533e
update container creation to collective mode for debugging purpose
zhangwei217245 Apr 5, 2023
334efc4
update container creation to collective mode for debugging purpose
zhangwei217245 Apr 5, 2023
c704bc6
update container creation to collective mode for debugging purpose
zhangwei217245 Apr 5, 2023
0139db7
update container creation to collective mode for debugging purpose
zhangwei217245 Apr 5, 2023
d0b47a6
update output for uint64_t
zhangwei217245 Apr 6, 2023
70ffe9d
add scripts
zhangwei217245 Apr 6, 2023
90736ab
update output for uint64_t
zhangwei217245 Apr 6, 2023
ac32369
update output for uint64_t
zhangwei217245 Apr 6, 2023
94d8633
update output for uint64_t
zhangwei217245 Apr 6, 2023
653375b
update scripts
zhangwei217245 Apr 6, 2023
ebe99ef
update scripts
zhangwei217245 Apr 6, 2023
aaa0b84
delete debugging message
zhangwei217245 Apr 6, 2023
ed05878
make Cmake to publish scripts directory
zhangwei217245 Apr 6, 2023
0f3db86
make Cmake to publish scripts directory
zhangwei217245 Apr 6, 2023
5552ad0
make Cmake to publish scripts directory
zhangwei217245 Apr 6, 2023
0e63480
make Cmake to publish scripts directory
zhangwei217245 Apr 6, 2023
fd745f8
make Cmake to publish scripts directory
zhangwei217245 Apr 6, 2023
53e0a15
update tag names
zhangwei217245 Apr 6, 2023
4e6eb27
update tag names
zhangwei217245 Apr 6, 2023
71a6a9a
update query startingpos
zhangwei217245 Apr 6, 2023
fed2e60
update query startingpos
zhangwei217245 Apr 6, 2023
591e5c7
update job scripts
zhangwei217245 Apr 6, 2023
9b88fae
add progressive timing for kvtag_add_get_scale
zhangwei217245 Apr 6, 2023
c20956d
fix iteration count in final report
zhangwei217245 Apr 6, 2023
eab1186
update job scripts and benckmark program
zhangwei217245 Apr 7, 2023
fe93e8e
update message format
zhangwei217245 Apr 7, 2023
7f16ee0
update message format
zhangwei217245 Apr 7, 2023
0adf28e
update message format
zhangwei217245 Apr 7, 2023
8ebcf3b
update message format
zhangwei217245 Apr 7, 2023
41875be
clang format
zhangwei217245 Apr 7, 2023
d294866
update job scripts
zhangwei217245 Apr 13, 2023
c114664
resolve conflict
zhangwei217245 Apr 13, 2023
68d4dab
comment off object/container close procedure in benchmark to save no…
zhangwei217245 Apr 13, 2023
bb6c87b
change the max number of object to 1M
zhangwei217245 Apr 13, 2023
b09b94e
change the max length of attribute value
zhangwei217245 Apr 13, 2023
2ef7417
change the max length of attribute value
zhangwei217245 Apr 13, 2023
4153985
resolve conflict
zhangwei217245 Apr 13, 2023
2129f96
llsm tiff import test
zhangwei217245 Apr 14, 2023
c531484
llsm tiff import test
zhangwei217245 Apr 14, 2023
b19f722
llsm tiff import test
zhangwei217245 Apr 14, 2023
0cd72e8
llsm tiff import test
zhangwei217245 Apr 14, 2023
9670bc5
update code
zhangwei217245 Apr 14, 2023
b2afd95
update code
zhangwei217245 Apr 14, 2023
448383b
update code
zhangwei217245 Apr 14, 2023
b79f950
update code
zhangwei217245 Apr 14, 2023
c2d5a3a
update code
zhangwei217245 Apr 14, 2023
e18ebcf
update code
zhangwei217245 Apr 14, 2023
cfb4fde
update code
zhangwei217245 Apr 14, 2023
1afb06a
update code
zhangwei217245 Apr 14, 2023
912b14c
update code
zhangwei217245 Apr 14, 2023
3ae5c14
update code
zhangwei217245 Apr 14, 2023
16c5843
update code
zhangwei217245 Apr 14, 2023
b4ff1c6
update cmake and llsm_importer
zhangwei217245 Apr 19, 2023
84804c8
update cmake and llsm_importer
zhangwei217245 Apr 19, 2023
95194c9
close if in cmake
zhangwei217245 Apr 19, 2023
12ac52b
cmake fix tiff
zhangwei217245 Apr 19, 2023
a5066b8
cmake policy to suppress warning
zhangwei217245 Apr 19, 2023
a66dd0d
add pdc include dir
zhangwei217245 Apr 19, 2023
372cc4f
update code
zhangwei217245 Apr 19, 2023
f36920d
update code
zhangwei217245 Apr 19, 2023
a80d9df
update code
zhangwei217245 Apr 19, 2023
0b188f7
update code
zhangwei217245 Apr 19, 2023
b54fc25
update code
zhangwei217245 Apr 19, 2023
f665f7d
update code
zhangwei217245 Apr 19, 2023
14e7236
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Apr 19, 2023
ba2f67a
update array generating method
zhangwei217245 Apr 20, 2023
08ab57e
update array generating method
zhangwei217245 Apr 20, 2023
2377bb3
update array generating method
zhangwei217245 Apr 20, 2023
da91780
update array generating method
zhangwei217245 Apr 20, 2023
a3ab20f
update CMakeLists
zhangwei217245 Apr 20, 2023
ac06b12
update CMakeLists
zhangwei217245 Apr 20, 2023
6e5a046
update CMakeLists
zhangwei217245 Apr 20, 2023
65c96d9
update CMakeLists
zhangwei217245 Apr 20, 2023
ec20bc7
update CMakeLists
zhangwei217245 Apr 21, 2023
46258f1
fix return type
zhangwei217245 Apr 21, 2023
6a72a8d
fix return type
zhangwei217245 Apr 21, 2023
9e55257
add timing
zhangwei217245 Apr 21, 2023
390be8a
add timing
zhangwei217245 Apr 21, 2023
a647af9
fix output
zhangwei217245 Apr 21, 2023
5c0c37d
llsm tiff importer 1st version: read csv and import tiff files to PDC…
zhangwei217245 Apr 23, 2023
5615b8f
fix vairable name
zhangwei217245 Apr 23, 2023
015906e
fix cmake
zhangwei217245 Apr 23, 2023
090cff8
fix cmake
zhangwei217245 Apr 23, 2023
4e8c211
fix cmake
zhangwei217245 Apr 23, 2023
247e8b2
fix cmake
zhangwei217245 Apr 23, 2023
faed7ca
fix cmake
zhangwei217245 Apr 23, 2023
208baed
fix cmake
zhangwei217245 Apr 23, 2023
4bbf585
add scripts
zhangwei217245 Apr 23, 2023
227e85a
add scripts
zhangwei217245 Apr 23, 2023
421b00e
add scripts
zhangwei217245 Apr 23, 2023
8d0f24d
debugging for nonMPI program
zhangwei217245 Apr 23, 2023
58de0a0
debugging for nonMPI program
zhangwei217245 Apr 23, 2023
25c1513
debugging for nonMPI program
zhangwei217245 Apr 23, 2023
d75bae2
clang format, without PDC, everything works perfectly. program fails …
zhangwei217245 Apr 23, 2023
0e13170
enable MPI
zhangwei217245 Apr 23, 2023
bdfd297
enable MPI
zhangwei217245 Apr 23, 2023
62b0efb
enlarge BCase size
zhangwei217245 Apr 23, 2023
399289c
enlarge BCase size
zhangwei217245 Apr 23, 2023
ab24b6b
enlarge BCase size
zhangwei217245 Apr 23, 2023
bd97115
resolve bcast count
zhangwei217245 Apr 23, 2023
ed20ee0
llsm data path in script
zhangwei217245 Apr 24, 2023
29bb525
llsm data path in script
zhangwei217245 Apr 24, 2023
8876a43
update csv reader
zhangwei217245 Apr 24, 2023
39f396b
update csv reader
zhangwei217245 Apr 24, 2023
e587abf
update csv reader
zhangwei217245 Apr 24, 2023
3aa4505
update pdc
zhangwei217245 Apr 24, 2023
2154141
update pdc
zhangwei217245 Apr 24, 2023
8f55974
update pdc
zhangwei217245 Apr 24, 2023
d8b2e57
update pdc
zhangwei217245 Apr 24, 2023
3009e0b
update pdc
zhangwei217245 Apr 24, 2023
b90191f
update pdc
zhangwei217245 Apr 24, 2023
08f9fc2
update pdc
zhangwei217245 Apr 24, 2023
a3dc497
update pdc
zhangwei217245 Apr 24, 2023
2e1c8bc
update pdc
zhangwei217245 Apr 24, 2023
3584a20
update pdc
zhangwei217245 Apr 24, 2023
5b5e90e
update pdc
zhangwei217245 Apr 24, 2023
53c07d8
enlarge max write
zhangwei217245 Apr 24, 2023
c7551ea
update pdc
zhangwei217245 Apr 24, 2023
02d401f
update pdc
zhangwei217245 Apr 24, 2023
cdc3020
update pdc
zhangwei217245 Apr 24, 2023
6d7d7a3
update pdc
zhangwei217245 Apr 25, 2023
6031bd3
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Apr 25, 2023
7c36495
update pdc
zhangwei217245 Apr 25, 2023
011b9f0
update pdc_import.c
zhangwei217245 Apr 26, 2023
4dbc4a5
update pdc_import.c
zhangwei217245 Apr 26, 2023
fa745f5
update pdc_export.c
zhangwei217245 Apr 26, 2023
b28957c
update pdc_import.c
zhangwei217245 Apr 26, 2023
e2196a9
update pdc_import.c
zhangwei217245 Apr 26, 2023
9f986d7
update pdc_import.c
zhangwei217245 Apr 26, 2023
edd1a1c
update pdc_import.c
zhangwei217245 Apr 26, 2023
59a332f
update tools/cmake
zhangwei217245 Apr 26, 2023
d5315f9
clang format
zhangwei217245 Apr 26, 2023
1731997
clang format
zhangwei217245 Apr 26, 2023
dc842c5
Merge tools/llsm_importer (#81)
zhangwei217245 May 8, 2023
92b52be
Merge branch 'stable' into develop
houjun May 8, 2023
5671f89
Merge branch 'stable' into develop
houjun May 8, 2023
395047f
Merge branch 'hpc-io:develop' into develop
zhangwei217245 May 9, 2023
ea63ce3
Merge branch 'hpc-io:stable' into feature/llsm_importer
zhangwei217245 May 9, 2023
1029c13
added a tutorial for llsm_importer
zhangwei217245 May 10, 2023
a82d52a
added a tutorial for llsm_importer
zhangwei217245 May 10, 2023
2c4116b
Merge branch 'feature/llsm_importer' of github.com:zhangwei217245/pdc…
zhangwei217245 May 10, 2023
97eeafe
Adding tutorial for llsm_importer tool. (#84)
zhangwei217245 May 10, 2023
152519b
make sure the line feed is included for string attribute
zhangwei217245 May 12, 2023
27621e2
update timing for overall completion time
zhangwei217245 May 16, 2023
22b98ac
Update .gitlab-ci.yml removing Cori
jeanbez May 19, 2023
37dd453
Remove unnecessary fflush call
wangvsa May 19, 2023
108bcc5
update formatting
zhangwei217245 May 23, 2023
d53a119
LLSM_importer Tutorial and Timing for job completion time. (#86)
zhangwei217245 May 23, 2023
f255128
Fix Issue #85, server segfault when another client application with d…
houjun May 23, 2023
62798a4
Committing clang-format changes
github-actions[bot] May 23, 2023
cec387e
update metrics
jeanbez Jun 5, 2023
d7c4f11
Update .gitlab-ci.yml
jeanbez Jun 13, 2023
a981716
update VPIC output timing precision (#88)
jeanbez Jun 13, 2023
a00ac75
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Jun 15, 2023
e30f7b7
llsm_importer (#1)
zhangwei217245 Jun 15, 2023
917b4f5
Tiff Parallel Reader sync to latest version (#89)
zhangwei217245 Jun 15, 2023
8448043
Update .gitlab-ci.yml
jeanbez Jun 16, 2023
10e0bb1
add type for kvtag structure (#2)
zhangwei217245 Jun 19, 2023
9fd90c2
Feature/metadata type (#3)
zhangwei217245 Jun 19, 2023
a8cb2aa
Data type for new kvtag (including refactoring and serde framework) (…
zhangwei217245 Jun 21, 2023
01bbea4
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Jun 21, 2023
ffaeb3e
LLSM Importer update: new job script + new data type update on kvtags…
zhangwei217245 Jun 21, 2023
63faa8f
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Jun 22, 2023
39fcd7c
Update .gitlab-ci.yml
jeanbez Jun 23, 2023
46abeed
fix warnings, commenting off 'find_path' and 'find_library' for Mercu…
zhangwei217245 Jun 23, 2023
af02e66
Update clang-format-fix.yml
houjun Jun 23, 2023
a7e7ecf
Update clang-format-fix.yml
houjun Jun 23, 2023
3d2e671
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Jun 24, 2023
cd5b305
Increase the default server cache size to 32GB and flush frequency to…
houjun Jun 29, 2023
1578f00
Committing clang-format changes
github-actions[bot] Jun 29, 2023
4d09324
Merge branch 'hpc-io:develop' into develop
zhangwei217245 Jun 29, 2023
10189bf
add FindMERCURY.cmake
zhangwei217245 Jul 10, 2023
e129970
Merge branch 'develop' of github.com:zhangwei217245/pdc into hotfix/F…
zhangwei217245 Jul 10, 2023
398c0b9
update commons/CMakeLists.txt
zhangwei217245 Jul 10, 2023
8259f51
Merge pull request #97 from zhangwei217245/hotfix/FindMercury1
jeanbez Jul 14, 2023
702d605
Fix unnecessary memory allocation (#103)
houjun Jul 18, 2023
98dae84
Fix an issue with opening a deleted container, added test (#101)
houjun Jul 19, 2023
d1bdc16
Fix container tag delete error (#102)
houjun Jul 19, 2023
55a5628
Fix the server cache issue when cache becomes full and needs flush (#…
houjun Jul 27, 2023
0cc87e7
Fix a wrong option description. (#115)
zhangwei217245 Jul 27, 2023
bc245e1
Install header files needed by PDCpy (#114)
houjun Jul 31, 2023
e9abc58
Support unlimited object dimension size (#117)
houjun Aug 2, 2023
38a34fe
Fix obj_round_robin_io_all test code
houjun Aug 2, 2023
5e76eda
Committing clang-format changes
github-actions[bot] Aug 2, 2023
0b892ba
Merge pull request #118 from hpc-io/fix100
jeanbez Aug 7, 2023
cf21137
More header files fix for PDCpy
houjun Aug 3, 2023
2e8323a
Fix cmake path (#121)
houjun Aug 8, 2023
c5c7b91
Kvtag query (#122)
houjun Aug 15, 2023
006281d
Rebase develop to stable (#125)
houjun Aug 23, 2023
567f43a
remove gitmodules file (#131)
houjun Aug 25, 2023
de914d4
Fix tests (#129)
houjun Aug 26, 2023
1ba9560
DART Integration (#124)
zhangwei217245 Aug 27, 2023
e000c88
update to new CI flow
jeanbez Aug 29, 2023
4ca4f87
migrate to new setup
jeanbez Aug 29, 2023
7481514
update doc
zhangwei217245 Aug 28, 2023
2a17358
update
zhangwei217245 Aug 29, 2023
da0b091
update
zhangwei217245 Aug 29, 2023
c71cc30
update
zhangwei217245 Aug 31, 2023
366a474
update
zhangwei217245 Aug 31, 2023
304edd7
update
zhangwei217245 Aug 31, 2023
565a9fe
update
zhangwei217245 Aug 31, 2023
ef3582c
update
zhangwei217245 Aug 31, 2023
ae519aa
update
zhangwei217245 Aug 31, 2023
69cad53
update
zhangwei217245 Aug 31, 2023
38e869c
update
zhangwei217245 Aug 31, 2023
907594a
update
zhangwei217245 Aug 31, 2023
6cc56ed
pdc import, export, ls compiled successfully (#123)
nickaruwang Aug 31, 2023
4ab4333
Update nersc.yml
jeanbez Sep 13, 2023
7387962
Update nersc.yml
jeanbez Sep 13, 2023
d45b9d2
Update nersc.yml
jeanbez Sep 13, 2023
9315661
fix MAX_CACHE_SIZE compilation issue
zhangwei217245 Sep 14, 2023
3f7b483
Compile parallel tests only when PDC_ENABLE_MPI is ON (#144)
houjun Oct 10, 2023
a484e6a
Remove copy of Spack recipe (#135)
jeanbez Oct 11, 2023
1dd411e
Include GitHub templates (#145)
jeanbez Oct 12, 2023
6588b7d
IDIOMS v0.9 (#151)
zhangwei217245 Oct 13, 2023
4f79787
Merge branch 'stable' into develop
jeanbez Oct 13, 2023
1b6d60d
Use cc on Perlmutter (#161)
houjun Oct 20, 2023
bd46c46
Fix pdc ls (#154)
houjun Oct 23, 2023
1e03014
Complete support for Docker and Github Codespace (#157)
zhangwei217245 Oct 31, 2023
23b1fdc
SQLite and RocksDB support for KVtags (#165)
houjun Nov 26, 2023
4ef9fd4
Update requirements.txt (#166)
jeanbez Nov 27, 2023
b02a970
fixes for MacOS and new CI to prevent future breaks (#164)
jeanbez Dec 18, 2023
8395abe
Enable cache/no-cache PDC CI tests (#171)
jeanbez Dec 18, 2023
0c34825
Resolving conflict between develop and stable (#173)
zhangwei217245 Jan 9, 2024
07b4fe9
Synchronize stable with develop branch (#152) (#175)
jeanbez Jan 9, 2024
e9917eb
fix conflicts
jeanbez Jan 22, 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
95 changes: 4 additions & 91 deletions .devcontainer/devcontainer.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,95 +1,8 @@
# Note: Run `docker build -f .devcontainer/Dockerfile -t pdc:latest .` from the root directory of the repository to build the docker image.

# Use Ubuntu Jammy (latest LTS) as the base image
FROM ubuntu:jammy



# Install necessary tools, MPICH, UUID library and developer files
RUN apt-get update && apt-get install -y \
build-essential \
git \
mpich \
libmpich-dev \
uuid \
uuid-dev \
autoconf \
libtool \
cmake \
cmake-curses-gui \
wget \
axel \
curl \
vim \
nano \
gdb \
cgdb \
curl \
valgrind

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


# 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

COPY ./ ${WORK_SPACE}/source/pdc

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

RUN mkdir -p $LIBFABRIC_SRC_DIR && \
mkdir -p $MERCURY_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 MERCURY_SRC_DIR=$WORK_SPACE/source/mercury" >> $WORK_SPACE/pdc_env.sh && \
echo "export PDC_SRC_DIR=$WORK_SPACE/source/pdc" >> $WORK_SPACE/pdc_env.sh && \
echo "export LIBFABRIC_DIR=$WORK_SPACE/install/libfabric" >> $WORK_SPACE/pdc_env.sh && \
echo "export MERCURY_DIR=$WORK_SPACE/install/mercury" >> $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 && \
./autogen.sh && \
./configure --prefix=$LIBFABRIC_DIR CC=mpicc CFLAG="-O2" && \
make clean && \
make -j && 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 -j && 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
# FROM ubuntu:jammy
FROM hpcio/pdc-dev-base:latest

RUN rm -rf $PDC_SRC_DIR && \
rm -rf $PDC_DIR
60 changes: 59 additions & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,63 @@
3000
],
"postCreateCommand": ".devcontainer/post-create.sh",
"postStartCommand": ".devcontainer/post-start.sh"
"postStartCommand": ".devcontainer/post-start.sh",
"postAttachCommand": ".devcontainer/post-attach.sh",
"customizations": {
"vscode": {
"extensions": [
"1YiB.rust-bundle",
"batisteo.vscode-django",
"ChrisChinchilla.vscode-pandoc",
"DamianKoper.gdb-debug",
"donjayamanne.python-environment-manager",
"donjayamanne.python-extension-pack",
"dustypomerleau.rust-syntax",
"eamodio.gitlens",
"formulahendry.code-runner",
"GitHub.copilot",
"GitHub.copilot-chat",
"JScearcy.rust-doc-viewer",
"julialang.language-julia",
"KevinRose.vsc-python-indent",
"lextudio.iis",
"lextudio.restructuredtext",
"lextudio.restructuredtext-pack",
"ms-azuretools.vscode-docker",
"ms-python.python",
"ms-python.vscode-pylance",
"ms-toolsai.jupyter",
"ms-toolsai.jupyter-keymap",
"ms-toolsai.jupyter-renderers",
"ms-toolsai.vscode-jupyter-cell-tags",
"ms-toolsai.vscode-jupyter-slideshow",
"ms-vscode.cmake-tools",
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"ms-vscode.cpptools-themes",
"njpwerner.autodocstring",
"PolyMeilex.rust-targets",
"rogalmic.bash-debug",
"rust-lang.rust-analyzer",
"serayuzgur.crates",
"shakram02.bash-beautify",
"shd101wyy.markdown-preview-enhanced",
"Swellaby.rust-pack",
"tamasfe.even-better-toml",
"trond-snekvik.simple-rst",
"twxs.cmake",
"VisualStudioExptTeam.intellicode-api-usage-examples",
"VisualStudioExptTeam.vscodeintellicode",
"wholroyd.jinja",
"xaver.clang-format",
"yzane.markdown-pdf",
"yzhang.markdown-all-in-one",
"ZhangYue.rust-mod-generator"
],
"settings": {
"C_Cpp.clang_format_path": "/home/project/software/clang-format-lint-action/clang-format/clang-format10",
"terminal.integrated.scrollback": 10000
}
}
}
}
13 changes: 13 additions & 0 deletions .devcontainer/post-attach.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash


WORK_SPACE_INITIALIZED_FILE=/workspaces/.workspace_initialized

if ! [ -f $WORK_SPACE_INITIALIZED_FILE ]; then
/bin/bash /workspaces/pdc/.devcontainer/post-start.sh
watch -t -n 5 'echo "Press Ctrl+C when there is no building processes."; echo "Number of initial PDC building processes:"; ps -ef | grep make | grep -v -c grep'
else
echo "Welcome Back!"
fi

/bin/bash
40 changes: 40 additions & 0 deletions .devcontainer/post-create.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1 +1,41 @@
#!/bin/bash


WORK_SPACE_INITIALIZED_FILE=/workspaces/.workspace_initialized

if ! [ -f $WORK_SPACE_INITIALIZED_FILE ]; then
touch $WORK_SPACE_INITIALIZED_FILE
echo "First time to create workspace, start to install PDC"
else
echo "Workspace already initialized, skip the installation"
exit 0
fi

rm -rf $PDC_SRC_DIR
rm -rf $PDC_DIR


ln -s /workspaces/pdc $(dirname $PDC_SRC_DIR)

mkdir -p /workspaces/source
ln -s $PDC_SRC_DIR /workspaces/source/pdc

mkdir -p /workspaces/install/pdc
ln -s /workspaces/install/pdc $(dirname $PDC_SRC_DIR)

# Build and install PDC
export PDC_CMAKE_FLAGS="-DBUILD_MPI_TESTING=ON -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTING=ON -DCMAKE_INSTALL_PREFIX=$PDC_DIR -DPDC_ENABLE_MPI=ON -DMERCURY_DIR=$MERCURY_DIR -DCMAKE_C_COMPILER=mpicc -DMPI_RUN_CMD=mpiexec "

cd $PDC_SRC_DIR
rm -rf build && mkdir -p build


cd ${PDC_SRC_DIR}/build
cmake $PDC_CMAKE_FLAGS ../ 2>&1 > ./cmake_config.log || echo "ignoring cmake config error and proceed"
make -j && make install

# Set the environment variables
export LD_LIBRARY_PATH="$PDC_DIR/lib:$LD_LIBRARY_PATH"
export PATH="$PDC_DIR/include:$PDC_DIR/lib:$PATH"
echo 'export LD_LIBRARY_PATH=$PDC_DIR/lib:$LD_LIBRARY_PATH' >> $WORK_SPACE/pdc_env.sh
echo 'export PATH=$PDC_DIR/include:$PDC_DIR/lib:$PATH' >> $WORK_SPACE/pdc_env.sh
31 changes: 3 additions & 28 deletions .devcontainer/post-start.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,31 +1,6 @@
#!/bin/bash

nohup /bin/bash /workspaces/pdc/.devcontainer/post-create.sh 2>&1 > /workspaces/pdc_install.out &

ln -s /workspaces/pdc /home/codespace/source/pdc
mkdir -p /workspaces/install
mkdir -p /workspaces/source
ln -s $PDC_SRC_DIR /workspaces/source/pdc
ln -s $PDC_DIR /workspaces/install/pdc

export PDC_SRC_DIR=/workspaces/source/pdc

# Build and install PDC
export 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 "

cd $PDC_SRC_DIR
rm -rf build && mkdir -p build


cd ${PDC_SRC_DIR}/build
cmake $PDC_CMAKE_FLAGS ../ 2>&1 > ./cmake_config.log || echo "ignoring cmake config error and proceed"
make -j && make install

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


cd $PDC_SRC_DIR/build
# ctest
echo "Wait for 10 seconds for the building processes to start."
sleep 10s
29 changes: 29 additions & 0 deletions .docker/dev.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Note: Run `docker build -f .docker/Dockerfile -t pdc:latest .` from the root directory of the repository to build the docker image.

# Use Ubuntu Jammy (latest LTS) as the base image
FROM zhangwei217245/pdc_dev_base:latest

# Build and install PDC
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 "


WORKDIR $PDC_SRC_DIR
RUN rm -rf build && \
mkdir -p build

# COPY ../ ${PDC_SRC_DIR}
# RUN ls -l $PDC_SRC_DIR

WORKDIR ${PDC_SRC_DIR}/build
RUN cmake $PDC_CMAKE_FLAGS ../ 2>&1 > ./cmake_config.log || echo "ignoring cmake config error and proceed" && \
make -j && make install

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


# WORKDIR $PDC_SRC_DIR/build
# RUN ctest
2 changes: 2 additions & 0 deletions .docker/dev.Dockerfile.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Exclude files and directories from the Docker build context
!/.git/
Loading
Loading