initial upload
This commit is contained in:
164
docs/manual/usage_on_HPCs.md
Normal file
164
docs/manual/usage_on_HPCs.md
Normal file
@@ -0,0 +1,164 @@
|
||||
# commands for compiling and running on HPCs
|
||||
|
||||
## Gekko @ NTU
|
||||
|
||||
### 1. Load necessary modules and select GNU compilers
|
||||
```bash
|
||||
module purge && module load cmake gnu/gcc-9.3.0
|
||||
```
|
||||
|
||||
### 2. compiler openmpi and HDF5 with parallel option
|
||||
`./install_mpi_and_hdf5_local.sh`
|
||||
will create openmpi and hdf5 executables in external_libs/local_mpi_hdf5/bin
|
||||
|
||||
### 3. Compile TomoATT
|
||||
```bash
|
||||
# make a build directory
|
||||
mkdir build
|
||||
|
||||
# compile TomoATT
|
||||
cd build
|
||||
CC=/usr/local/gcc-9.3.0/bin/gcc CXX=/usr/local/gcc-9.3.0/bin/g++ cmake .. -DCMAKE_PREFIX_PATH=$(pwd)/../external_libs/local_mpi_hdf5
|
||||
|
||||
make -j16
|
||||
```
|
||||
|
||||
Then the executable TOMOATT is created in the build directory.
|
||||
|
||||
|
||||
## Fugaku @ RIKEN
|
||||
|
||||
|
||||
### 0. start interactive job on Fugaku (for accessing arch64 environment)
|
||||
|
||||
```bash
|
||||
pjsub --interact -g hp220155 -L "node=1" -L "rscgrp=int" -L "elapse=1:00:00" --mpi "max-proc-per-node=12" --sparam "wait-time=600" -x PJM_LLIO_GFSCACHE=/vol0004 --no-check-directory
|
||||
```
|
||||
|
||||
|
||||
### 1. Load necessary modules
|
||||
```bash
|
||||
# prepare spack env
|
||||
. /vol0004/apps/oss/spack/share/spack/setup-env.sh
|
||||
# load Fujitsu mpi
|
||||
spack load /jfzaut5
|
||||
# or load gnu 11.2.0
|
||||
spack load /nphnrhl /cvur4ou
|
||||
```
|
||||
|
||||
|
||||
|
||||
### 2. Download hdf5 source code and compile it
|
||||
```bash
|
||||
|
||||
# every file will be placed in external_libs
|
||||
cd ./external_libs
|
||||
|
||||
# make a local install pass
|
||||
mkdir local_mpi_hdf5
|
||||
|
||||
# download hdf5 source
|
||||
wget https://gamma.hdfgroup.org/ftp/pub/outgoing/hdf5/snapshots/v112/hdf5-1.12.2-1.tar.gz
|
||||
|
||||
#Extract the downloaded directory
|
||||
tar -xvf hdf5-1.12.2-1.tar.gz && cd hdf5-1.12.2-1
|
||||
|
||||
# Configure the code. (the pathes to mpicc, mpicxx should vary on the environment)
|
||||
CC=mpifcc CFLAGS="-Nclang" CXX=mpiFCC CXXFLAGS="-Nclang" ./configure --enable-parallel --enable-unsupported --enable-shared --enable-cxx --prefix=$(pwd)/../local_mpi_hdf5
|
||||
|
||||
# make
|
||||
make -j12 && make install
|
||||
|
||||
# now hdf5 executables are in external_libs/local_mpi_hdf5/bin
|
||||
```
|
||||
|
||||
or with gnu 11.2.0
|
||||
```bash
|
||||
|
||||
# download hdf5 source
|
||||
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.13/hdf5-1.13.2/src/hdf5-1.13.2.tar.gz
|
||||
#Extract the downloaded directory
|
||||
tar -xvf hdf5-1.13.2.tar.gz
|
||||
cd hdf5-1.13.2
|
||||
# Configure the code. (the pathes to mpicc, mpicxx should vary on the environment)
|
||||
CC=mpicc CXX=mpic++ ./configure --enable-parallel --enable-unsupported --enable-shared --enable-cxx --prefix=$(pwd)/../local_mpi_hdf5
|
||||
# make
|
||||
make -j12 && make install
|
||||
|
||||
```
|
||||
|
||||
|
||||
### 3. Compile TomoATT
|
||||
```bash
|
||||
# cd to TomoATT directory
|
||||
cd ../..
|
||||
|
||||
# make a build directory
|
||||
mkdir build
|
||||
|
||||
# compile TomoATT
|
||||
cd build
|
||||
|
||||
CC=mpifcc CXX=mpiFCC cmake .. -DCMAKE_PREFIX_PATH=$(pwd)/../external_libs/local_mpi_hdf5
|
||||
# or for gnu 11.2.0
|
||||
cmake .. -DCMAKE_PREFIX_PATH=$(pwd)/../external_libs/local_mpi_hdf5
|
||||
|
||||
make -j12
|
||||
```
|
||||
|
||||
### 4. terminalte interactive job
|
||||
`Ctrl + D`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## ASPIRE 1 @ NSCC
|
||||
|
||||
### 0. load necessary modules
|
||||
```bash
|
||||
module purge
|
||||
export PATH=/app/gcc/9.5.0/bin:$PATH && export LD_LIBRARY_PATH=/app/gcc/9.5.0/lib:$LD_LIBRARY_PATH
|
||||
module load intel/19.0.0.117
|
||||
```
|
||||
|
||||
### 1. Download hdf5 source code and compile it
|
||||
```bash
|
||||
|
||||
# download openmpi and hdf5 source code on your LOCAL MACHINE
|
||||
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.13/hdf5-1.13.3/src/hdf5-1.13.3.tar.gz
|
||||
|
||||
# then upload it to NSCC (for example)
|
||||
scp -rC hdf5-1.13.3.tar.gz aspire1:~/(where TomoATT placed)/external_libs/
|
||||
|
||||
# on ASPIURE 1
|
||||
cd external_libs
|
||||
|
||||
mkdir local_mpi_hdf5
|
||||
|
||||
# extract tar file and cd to the directory
|
||||
tar -xvf hdf5-1.13.3.tar.gz && cd hdf5-1.13.3
|
||||
|
||||
# configure the code
|
||||
CC=mpiicc CXX=mpiicpc \
|
||||
./configure --enable-parallel --enable-unsupported --enable-shared --enable-cxx --prefix=$(pwd)/../local_mpi_hdf5
|
||||
|
||||
# make and install to the prefix
|
||||
make -j16 && make install
|
||||
|
||||
```
|
||||
|
||||
### 2. Compile TomoATT
|
||||
```bash
|
||||
# cd to TomoATT directory
|
||||
cd ../..
|
||||
|
||||
# make a build directory
|
||||
mkdir build
|
||||
|
||||
# compile TomoATT
|
||||
cd build
|
||||
CC=icc CXX=icpc cmake .. -DCMAKE_PREFIX_PATH=$(pwd)/../external_libs/local_mpi_hdf5
|
||||
|
||||
make -j16
|
||||
```
|
||||
Reference in New Issue
Block a user