Skip to content

Commit b4be25f

Browse files
authored
Update README.md
1 parent b06d31c commit b4be25f

File tree

1 file changed

+23
-76
lines changed

1 file changed

+23
-76
lines changed

README.md

Lines changed: 23 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,45 @@
1-
# Installation Instructions for Cori Machines
1+
# Installation Instructions
22

3-
## Install libfabric
4-
```
5-
0. wget https://github.com/ofiwg/libfabric/archive/v1.11.2.tar.gz
6-
1. tar xvzf v1.11.2.tar.gz
7-
2. cd libfabric-1.11.2
8-
3. mkdir install
9-
4. export LIBFABRIC_DIR=$(pwd)/install
10-
5. ./autogen.sh
11-
6. ./configure --prefix=$LIBFABRIC_DIR CC=cc CFLAG="-O2"
12-
7. make -j8
13-
8. make install
14-
9. export LD_LIBRARY_PATH="$LIBFABRIC_DIR/lib:$LD_LIBRARY_PATH"
15-
10. export PATH="$LIBFABRIC_DIR/include:$LIBFABRIC_DIR/lib:$PATH"
16-
```
3+
## Install PDC and its dependent libraries
4+
5+
Please follow the instructions in the [PDC documentation website](https://pdc.readthedocs.io/en/latest/getting_started.html#installing-pdc-from-source-code) to install libfabric, mercury, and PDC. We recommend using the PDC develop branch.
176

18-
## Install Mercury
19-
Make sure the ctest passes. PDC may not work without passing all the tests of Mercury.
207

21-
Step 2 in the following is not required. It is a stable commit that has been used to test when these these instructions were written. One may skip it to use the current master branch of Mercury.
22-
```
23-
0. git clone https://github.com/mercury-hpc/mercury.git
24-
1. cd mercury
25-
2. git checkout e741051fbe6347087171f33119d57c48cb438438
26-
3. git submodule update --init
27-
4. export MERCURY_DIR=$(pwd)/install
28-
5. mkdir install
29-
6. cd install
30-
7. cmake ../ -DCMAKE_INSTALL_PREFIX=$MERCURY_DIR -DCMAKE_C_COMPILER=cc -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DNA_USE_OFI=ON -DNA_USE_SM=OFF -DCMAKE_C_FLAGS="-dynamic" -DCMAKE_CXX_FLAGS="-dynamic"
31-
8. make
32-
9. make install
33-
10. ctest -DMPI_RUN_CMD=srun
34-
11. export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
35-
12. export PATH="$MERCURY_DIR/include:$MERCURY_DIR/lib:$PATH"
36-
```
37-
## Install PDC
38-
ctest contains both sequential and MPI tests for the PDC settings. These can be used to perform regression tests.
39-
```
40-
0. git clone https://github.com/hpc-io/pdc.git
41-
1. cd pdc
42-
2. git checkout stable
43-
3. cd src
44-
4. mkdir install
45-
5. cd install
46-
6. export PDC_DIR=$(pwd)
47-
7. cmake ../ -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=cc -DCMAKE_C_FLAGS="-dynamic"
48-
8. make -j8
49-
9. ctest -DMPI_RUN_CMD=srun
50-
```
518
## Environmental variables
52-
During installation, we have set some environmental variables. These variables may disappear after the close the current session ends.
53-
We recommend adding the following lines to ~/.bashrc. (One may also execute them manually after logging in).
54-
The MERCURY_DIR and LIBFABRIC_DIR variables should be identical to the values that were set during the installation of Mercury and libfabric.
55-
The install path is the path containing bin and lib directory, instead of the one containing the source code.
9+
The following environment variables should be set before continuing.
5610
```
57-
export PDC_DIR="where/you/installed/your/pdc"
58-
export MERCURY_DIR="where/you/installed/your/mercury"
59-
export LIBFABRIC_DIR="where/you/installed/your/libfabric"
11+
export PDC_DIR="where/you/install/your/pdc"
12+
export VOL_DIR="where/you/install/your/vol-pdc"
13+
export HDF5_DIR="where/you/install/your/hdf5"
14+
export MERCURY_DIR="where/you/install/your/mercury"
15+
export LIBFABRIC_DIR="where/you/install/your/libfabric"
6016
export LD_LIBRARY_PATH="$LIBFABRIC_DIR/lib:$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
6117
export PATH="$LIBFABRIC_DIR/include:$LIBFABRIC_DIR/lib:$MERCURY_DIR/include:$MERCURY_DIR/lib:$PATH"
6218
```
6319

6420
## Install HDF5
6521
```
66-
0. wget "https://www.hdfgroup.org/package/hdf5-1-12-1-tar-gz/?wpdmdl=15727&refresh=612559667d6521629837670"
67-
1. mv index.html?wpdmdl=15727&refresh=612559667d6521629837670 hdf5-1.12.1.tar.gz
68-
2. tar zxf hdf5-1.12.1.tar.gz
69-
3. cd hdf5-1.12.1
70-
4. ./configure --prefix=/global/homes/../<username>/hdf5
71-
5. make
72-
6. make check
73-
7. make install
74-
8. make check-install
22+
git clone https://github.com/HDFGroup/hdf5.git
23+
cd hdf5
24+
git checkout hdf5-1_14_1-2
25+
export HDF5_LIBTOOL=/usr/bin/libtoolize
26+
./autogen.sh
27+
./configure CC=mpicc --prefix=$HDF5_DIR --enable-parallel --disable-tests --disable-hl --disable-fortran
28+
make && make install
7529
```
7630

7731
## Building vol-pdc
78-
CMakeLists.txt seem to be heavily adapted from the [mercury](https://github.com/mercury-hpc/mercury) git repo. Building should be very similar.
7932
```
80-
0. git clone https://github.com/hpc-io/vol-pdc.git
81-
1. cd vol-pdc
82-
2. mkdir build
83-
3. cd build
84-
4. ccmake ..
85-
5. set BUILD_SHARED_LIBS to ON (default OFF)
86-
6. set HDF5_DIR to where HDF5 is installed
87-
7. set HDF5_INCLUDE_DIR to the include directory in the HDF5 package
88-
8. set HDF5_LIBRARY to the lib directory in the HDF5 package
89-
9. press [c] to configure then exit
90-
10. cmake ..
33+
git clone https://github.com/hpc-io/vol-pdc.git
34+
cd vol-pdc
35+
mkdir build
36+
cd build
37+
cmake ../ -DCMAKE_INSTALL_PREFIX=$VOL_DIR -DBUILD_SHARED_LIBS=ON -DHDF5_DIR=$HDF5_DIR -DPDC_DIR=$PDC_DIR/share/cmake/pdc -DBUILD_EXAMPLES=ON
9138
```
9239

9340
# Notes
9441

95-
The following functions have yet to be implemented and are either currently do nothing, or don't do anything relevant to the VOL:
42+
The following functions have yet to be implemented and either currently do nothing, or don't do anything relevant to the VOL:
9643

9744
- H5VL_pdc_attr_get
9845
- H5VL_pdc_attr_close

0 commit comments

Comments
 (0)