WEST for XC40

What Is WEST?

WEST is a Fortran/MPI scalable parallel implementation of large-scale electronic structure calculations within many-body perturbation theory. WEST is currently interfaced with Quantum Espresso planewave DFT software. As described on the WEST website http://west-code.org/, WEST is highly scalable and is used for calculations of solids, liquids, nanostructures, molecules, and interfaces, including samples with ~2000 electrons.

Using WEST at ALCF

ALCF does not officially support WEST software, but provides assistance with compiling executables. For questions, contact us at support@alcf.anl.gov.

How to Obtain the Code

WEST is an open-source code that can be downloaded at http://west-code.org/. Similarly, the Quantum Espresso code can be downloaded at http://quantum-espresso.org/. Check the WEST website for current information on supported algorithms.

Building on Theta

WEST currently requires a working PW executable from Quantum Espresso. Current information on installation details for both WEST and PW can be found at http://west-code.org/documentation.php. After Quantum Espresso and WEST codes have been downloaded and unpacked, the PW and WEST executables can be compiled using the following script in the qe-<version> directory.

> cat build_theta.sh

export BLAS_LIBS="-L$MKLROOT/intel64/lib -Wl,--start-group -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -Wl,--end-group"
export SCALAPACK_LIBS="-L$MKLROOT/intel64/lib -Wl,--start-group -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -Wl,--end-group"
export FFT_LIBS=""
export MPIF90="ftn -g -mkl"
export CC="cc -g -mkl"
export F77="ftn -g -mkl"
export FFLAGS="-xMIC-AVX512 -align array64byte -fp-model fast=2 -no-prec-div -assume byterecl"

./install/configure --host=x86_64-build-linux-gnu --build=x86_64-target-linux-gnu --enable-parallel --with-scalapack --enable-openmp

make pw -j 16

cd West

As newer versions of Quantum Espresso and WEST are released, check the corresponding websites for current information.

Running WEST Jobs on Theta

The following is an example executable script “run_west.csh” to run the wstat WEST executable on two nodes of Theta with 64 MPI ranks per node. The job can be submitted with command “qsub run_west.csh” where <project_name> is replaced with an active project allocation.

> cat run_west.csh
#COBALT -n 2 -t 10 -q debug-cache-quad -A <project_name> -O WEST

aprun -n 128 -N 64 -d 1 --cc depth -e OMP_NUM_THREADS=1 -j 1 ./wstat wstat.i
> qsub run_west.csh