WEST on Theta
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 provides assistance with build instructions, compiling executables, submitting jobs, and providing prebuilt binaries. Some provided executables on Theta are available here: /soft/applications/qe_west/qe_v6.1.0-west_3.1.0. For questions, contact us at email@example.com.
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 https://www.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-
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 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
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.sh” 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.sh” where