-
Notifications
You must be signed in to change notification settings - Fork 42
Build on Piz Daint
Anton Kozhevnikov edited this page Jan 24, 2020
·
8 revisions
We use EasyBuild to compile libraries and software at CSCS. See also the CSCS EasyBuild Documentation.
Fist, you need to build the necessary modules if you don't have them already:
module load daint-gpu
module load EasyBuild-custom/cscs
eb GSL-2.5-CrayGNU-19.10.eb -r
eb libxc-4.3.4-CrayGNU-19.10.eb -r
eb magma-2.5.2-CrayGNU-19.10-cuda-10.1-mkl.eb -r
eb spglib-1.14.1-CrayGNU-19.10.eb -r
eb SpFFT-0.9.10-CrayGNU-19.10-cuda-10.1-mkl.eb -r
and then configure the environment like this:
module swap PrgEnv-cray PrgEnv-gnu
module load cray-hdf5
module load cudatoolkit
module load intel
module load daint-gpu
module load EasyBuild-custom/cscs
module load GSL/2.5-CrayGNU-19.10
module load libxc/4.3.4-CrayGNU-19.10
module load magma/2.5.2-CrayGNU-19.10-cuda-10.1-mkl
module load spglib/1.14.1-CrayGNU-19.10
module load SpFFT/0.9.10-CrayGNU-19.10-cuda-10.1-mkl
module load CMake/3.14.5
module load cray-python/3.6.5.7
module unload cray-libsci
module unload cray-libsci_acc
module unload perftools-base
Then you can configure and build SIRIUS with the following command: Then configure and build SIRIUS with the following command:
git clone --recursive https://github.com/electronic-structure/SIRIUS.git
mkdir SIRIUS/build
cd SIRIUS/build
cmake ../ -DUSE_CUDA=1 -DGPU_MODEL='P100' -DCMAKE_INSTALL_PREFIX=$HOME/local -DUSE_MKL=1 -DBUILD_TESTS=1 -DUSE_MAGMA=1 -DCMAKE_BUILD_TYPE=Release -DCREATE_PYTHON_MODULE=1 -DUSE_SCALAPACK=1 -DCREATE_FORTRAN_BINDINGS=1 -DSpFFT_DIR=$EBROOTSPFFT/lib/cmake/SpFFT
make -j install
To build the necessary modules, run:
module load daint-gpu
module load EasyBuild-custom/cscs
eb GSL-2.5-CrayIntel-19.10.eb -r
eb libxc-4.3.4-CrayIntel-19.10.eb -r
eb magma-2.5.2-CrayIntel-19.10-cuda-10.1.eb -r
eb spglib-1.14.1-CrayIntel-19.10.eb -r
eb ELPA-2019.05.002-CrayIntel-19.10.eb -r
eb SpFFT-0.9.10-CrayIntel-19.10-cuda-10.1.eb -r
and then next time configure the environment like this:
module swap PrgEnv-cray PrgEnv-intel
module load cray-hdf5
module load cudatoolkit
module load gcc
module load intel
module load daint-gpu
module load EasyBuild-custom/cscs
module load GSL/2.5-CrayIntel-19.10
module load libxc/4.3.4-CrayIntel-19.10
module load magma/2.5.2-CrayIntel-19.10-cuda-10.1
module load spglib/1.14.1-CrayIntel-19.10
module load CMake/3.14.5
module load cray-python/3.6.5.7
module load ELPA/2019.05.002-CrayIntel-19.10
module load SpFFT/0.9.10-CrayIntel-19.10-cuda-10.1
module unload cray-libsci
module unload cray-libsci_acc
module unload perftools-base
To configure and build SIRIUS, run the following command:
git clone --recursive https://github.com/electronic-structure/SIRIUS.git
mkdir SIRIUS/build
cd SIRIUS/build
cmake ../ -DUSE_CUDA=1 -DGPU_MODEL='P100' -DCMAKE_INSTALL_PREFIX=$HOME/local -DUSE_MKL=1 -DBUILD_TESTS=1 -DUSE_MAGMA=1 -DCMAKE_BUILD_TYPE=Release -DCREATE_PYTHON_MODULE=1 -DUSE_SCALAPACK=1 -DUSE_ELPA=1 -DCREATE_FORTRAN_BINDINGS=1 -DSpFFT_DIR=$EBROOTSPFFT/lib/cmake/SpFFT
make -j install
You can also build SIRIUS with the following command:
module load daint-gpu
module load EasyBuild-custom/cscs
# GNU programming environment
eb SIRIUS-6.4.4-CrayGNU-19.10-cuda-10.1.eb -r
# Intel programming environment
eb SIRIUS-6.4.4-CrayIntel-19.10-cuda-10.1.eb -r