Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • wslda wslda
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • wtools
  • wsldawslda
  • Wiki
  • ELPA installation guide

Last edited by Gabriel Wlazłowski Feb 26, 2024
Page history
This is an old version of this page. You can view the most recent version or browse the history.

ELPA installation guide

Below we provide examples of compilation process in on selected systems

  • Installation on Summit
    • Notes by Victor Wen-zhe Yu:
    • Installation instructions
  • Installation on Piz Daint
  • Installation on Cygnus
  • Installation on Tsubame
  • Installation on Eagle
  • Installation on LUMI

Installation on Summit

Notes by Victor Wen-zhe Yu:

  • Installation on Summit
  • Fortran example
  • C example

Installation instructions

For compilation use interactive session:

bsub -Is -W 0:15 -nnodes 1 -P nph139 $SHELL

Next execute:

module load gcc/9.1.0
module load autoconf
module load automake
module load cuda 
module load essl
module load netlib-lapack
module load netlib-scalapack
module load python/3.7.0

git clone https://gitlab.mpcdf.mpg.de/elpa/elpa.git

# go to ELPA distribution directory
cd elpa
./autogen.sh
# if autogen.sh fails rerun
# libtoolize, aclocal, autoheader

mkdir build && cd build

../configure FC=mpif90 CC=mpicc FCFLAGS="-O2 -mcpu=power9 -ffree-line-length-none" CFLAGS="-O2 -mcpu=power9" CPP="cpp -E" LDFLAGS="-L${OLCF_NETLIB_SCALAPACK_ROOT}/lib -lscalapack -L${OLCF_ESSL_ROOT}/lib64 -lessl -L${OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack" --disable-openmp --enable-gpu --with-cuda-path=${OLCF_CUDA_ROOT} --with-GPU-compute-capability=sm_70 --disable-sse-assembly --disable-sse --disable-avx --disable-avx2 --disable-avx512 --enable-c-tests=no --prefix="/ccs/home/gabrielw/proj-shared/share/elpa"

make -j 8

# Before you install lib, check if CUDA support works correctly
jsrun -n 6 -a 1 -c 1 -g 1 ./validate_complex_double_eigenvectors_2stage_default_kernel_gpu_random 1000 1000 16  
jsrun -n 6 -a 1 -c 1 -g 1 ./validate_real_double_eigenvectors_2stage_default_kernel_gpu_random 1000 1000 16

# If tests are ok, install to the final destination
make install 

Installation on Piz Daint

# Clone latest version
git clone https://gitlab.mpcdf.mpg.de/elpa/elpa.git

# Load modules
module load daint-gpu
module swap PrgEnv-cray PrgEnv-gnu/6.0.9
module swap gcc gcc/9.3.0
module load cudatoolkit/11.0.2_3.33-7.0.2.1_3.1__g1ba0366
module load craype-accel-nvidia60
module list

./autogen.sh

# go to ELPA distribution directory

mkdir build && cd build

../configure --prefix="/project/pr91/share" FC=ftn CC=cc FCFLAGS="-O2 -ffree-line-length-none" CFLAGS="-O2" -disable-avx512 --disable-openmp --enable-static --enable-gpu --with-cuda-path=${CRAY_CUDATOOLKIT_DIR} --with-GPU-compute-capability=sm_60 --enable-c-tests=no

make 

make install

Installation on Cygnus

module load intel/19.0.5
module load mkl/19.0.5
module load cuda/10.2
module load intmpi/19.0.5

# go to ELPA distribution directory

mkdir build && cd build

../configure --prefix="/work/TDSLDA20/share/elpa" --enable-static CC=mpiicc FC=mpiifort CPP=cpp FCPP=cpp  LIBS="-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lpthread -lm -ldl -mkl=cluster"  FCFLAGS="-mkl=cluster -O3 -xAVX2" CFLAGS="-mkl=cluster -qopenmp -O3 -xAVX2" --enable-gpu --with-cuda-path=${CUDA_PATH} --with-GPU-compute-capability=sm_60

make 

make install

Installation on Tsubame

module load cuda/10.2.89 
module load intel/19.1.0.166 
module load intel-mpi/19.6.166

# go to ELPA distribution directory
mkdir && cd
git clone https://gitlab.mpcdf.mpg.de/elpa/elpa && ./autogen.sh && cd ..
mkdir build && cd build
../configure --prefix="/gs/hs1/hp190063/share/elpa" --disable-openmp --enable-static CC=mpiicc FC=mpiifort LIBS="-lmkl_scalapack_ilp64 -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl  -DMKL_ILP64 -mkl=cluster"  FCFLAGS="-DMKL_ILP64 -mkl=cluster -O3 -xAVX2" CFLAGS="-DMKL_ILP64 -mkl=cluster -O3 -xAVX2" --enable-gpu --with-cuda-path=${CUDA_PATH} --with-GPU-compute-capability=sm_60

make 

make install

Installation on Eagle

module load impi/2020.4.912
module load mkl/2020.0.4
module load cuda/11.2.1_460.32.03

# get the latest version of elpa
git clone https://gitlab.mpcdf.mpg.de/elpa/elpa.git

# go to elpa lib
cd elpa

# prepare for compilation
libtoolize
aclocal
autoheader
./autogen.sh

# prepare for building
mkdir build && cd build

../configure --prefix="/home/users/gabrielw/grant_518/project_data/share/elpa" --enable-static CXX=mpiicpc CC=mpiicc FC=mpiifort CPP=cpp FCPP=cpp  LIBS="-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lpthread -lm -ldl -mkl=cluster"  FCFLAGS="-mkl=cluster -O3 -xAVX2" CFLAGS="-mkl=cluster -qopenmp -O3 -xAVX2" --enable-gpu --with-cuda-path=${CUDA_PATH} --with-GPU-compute-capability=sm_70

# build
make

# install
make install

Installation on LUMI

module load cray-libsci/21.05.1.1

# get the latest version of elpa
git clone https://gitlab.mpcdf.mpg.de/elpa/elpa.git
# or download from a tar archive https://elpa.mpcdf.mpg.de/software/tarball-archive/ELPA_TARBALL_ARCHIVE.html 

# go to elpa lib
cd elpa

# prepare for building
mkdir build && cd build

./configure --prefix=/projappl/project_465000014/share/elpa/elpa-2021.05.002 FC=ftn CC=cc FCFLAGS="-O2 -ffree-line-length-none" CFLAGS="-O2" LDFLAGS="-L$CRAY_LIBSCI_PREFIX/lib -lsci_cray_mpi -lsci_cray" -disable-avx512 --disable-openmp --enable-static --enable-c-tests=no

# build
make

# install
make install
Clone repository
  • API version
  • Automatic interpolations
  • Auxiliary tools
  • Browsing the code
  • Broyden algorithm
  • C and CUDA
  • Campaign of calculations
  • Checking correctness of settings
  • Chemical potentials control
  • Code & Results quality
  • Common failures of static codes
  • Common failures of time dependent codes
  • Computation domain
  • Configuring GPU machine
  • Constraining densities and potentials
View All Pages