Use on HPCs
This page shows how to compile TomoATT on a few HPCs which we have been using. If you have any experience on compiling TomoATT on other HPCs, your contribution on this page is highly appreciated. So please feel free to contact us.
Gekko @ NTU
Load necessary modules and select GNU compilers
module purge && module load cmake gnu/gcc-13.1.0
clone TomoATT
git clone --recursive https://github.com/MIGG-NTU/TomoATT.git
Download hdf5 source code and compile it
# every file will be placed in external_libs
cd ./TomoATT/external_libs
# make a local install pass
mkdir local_mpi_hdf5
# install openmpi
# download source
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.3.tar.gz
## Extract it
tar -xvf openmpi-4.1.3.tar.gz
cd openmpi-4.1.3
# configure
./configure --prefix=$(pwd)/../local_mpi_hdf5
## make
make -j16 && make install
#
cd ../
# download hdf5 source
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.13/hdf5-1.13.3/src/hdf5-1.13.3.tar.gz
#Extract the downloaded directory
tar -xvf hdf5-1.13.3.tar.gz
cd hdf5-1.13.3/
CC=$(pwd)/../local_mpi_hdf5/bin/mpicc CXX=$(pwd)/../local_mpi_hdf5/bin/mpicxx ./configure --enable-parallel --enable-unsupported --enable-shared --enable-cxx --prefix=$(pwd)/../local_mpi_hdf5
# make
make -j16 && make install
# now openmpi and hdf5 executables are in external_libs/local_mpi_hdf5/bin
Compile TomoATT
cd ../../
# make a build directory
mkdir build
# compile TomoATT
cd build
CC=/usr/local/gcc-13.1.0/bin/gcc CXX=/usr/local/gcc-13.1.0/bin/g++ cmake .. -DCMAKE_PREFIX_PATH=$(pwd)/../external_libs/local_mpi_hdf5
make -j16
Then the executable TOMOATT
is created in the build/bin
directory.