Compilation and installation

Warning

This page is under construction

Obtaining the code

The code and pseudopotentials can be obtained upon request to the STATE developers.

Platform specific information can be found by following this link.

Prep

Let us first make the root directory for the STATE. In the home directory, type

$ mkdir STATE

Go to the STATE directory and create a directory as

$ cd STATE
$ mkdir gncpp

Pseudopotentials are stored in gncpp. Obtain a set of pseudopotentials (usually named as gncpp.tgz) and unpack it under gncpp Then create a source directory as

$ mkdir src

Compilation

Having obtained the source code, say state-5.6.10.tgz, unpack the source code under src as

$ gzip -dc state-5.6.10.tgz | tar xf -

or

$ tar zxf state-5.6.10.tgz

state-5.6.10/ contains the following file and directories:

README  arch/   build/  src/    util/

Go to the source directory

$ cd state-5.6.10/src

make a symbolic link to make.arch as follows, e.g.

$ ln -s ../arch/make.arch.intel_smith make.arch

and edit make.arch according to your environment. Then type

$ make

You will get the executable STATE in the source directory.

For example, make.arch for the supercomputer (ohtaka) at ISSP, The University of Tokyo looks like:

F90     = mpiifort
LINKER  = mpiifort
OMP     = -qopenmp
OPT1    = -O1 -fp-model strict -axCORE-AVX2
OPT3    = -O3 -fp-model strict -axCORE-AVX2
FLAG    = $(OMP) $(OPT1) -zero -fixed -extend_source -xHOST
FLAGS   = $(OMP) $(OPT3) -zero -fixed -extend_source -xHOST
FLAGD   = $(OMP) $(OPT3) -zero -fixed -extend_source -xHOST
FLAGNP  =        $(OPT3) -zero -fixed -extend_source -xHOST
DEBUG   =
LIBS    = -mkl=parallel
LAPACK  =
INCLUDE = -I$(MKLROOT)/include/fftw
CPPDIR  = /usr/bin
CPP     = $(CPPDIR)/cpp -P -C -traditional
P_FLAGS = -D_INTEL_DAVIDSON_ -D_FFTW3_ -D_MKL_FFTW_ -D_TIMER_ -D_OPENMP_FUNC_ -D_TEST_

The make.arch for ohtaka with SCALAPACK looks like:

F90     = mpiifort
LINKER  = mpiifort
OMP     = -qopenmp
OPT1    = -O1 -fp-model strict -axCORE-AVX2
OPT3    = -O3 -fp-model strict -axCORE-AVX2
FLAG    = $(OMP) $(OPT1) -zero -fixed -extend_source -xHOST
FLAGS   = $(OMP) $(OPT3) -zero -fixed -extend_source -xHOST
FLAGD   = $(OMP) $(OPT3) -zero -fixed -extend_source -xHOST
FLAGNP  =        $(OPT3) -zero -fixed -extend_source -xHOST
DEBUG   =
LIBS    = -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 \
          -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core \
          -liomp5 -pthread -lm
INCLUDE = -I ${MKLROOT}/include/fftw
CPPDIR  = /usr/bin
CPP     = $(CPPDIR)/cpp -P -traditional
P_FLAGS = -D_INTEL_DAVIDSON_ -D_FFTW3_ -D_MKL_FFTW_ -D_TIMER_ -D_OPENMP_FUNC_ -D_SCALAPACK_

To compile the utilities, go to the util directory, edit make.inc, and type :

$ make

Symbolic links to the utilities are created in the bin directory.

Use Intel Math Kernel Library Link Line Advisor to find recommended libries for Intel fortran.

Platform specific information

smith @ Morikawa group

First, make sure modules are loaded as appropriate. Type:

$ module avail

and you can see as follows:

1) intel/2020.2.254      2) intelmpi/2020.2.254

If not, type the following:

$ module load intel/2020.2.254
$ module load intelmpi/2020.2.254

Change the directory to STATE/src and copy the source code state-5.6.14.tgz from my directory, and unpack the source code there:

$ gzip -dc state-5.6.14.tgz | tar xf -

or

$ tar zxf state-5.6.14.tgz

state-5.6.14/ contains the following file and directories:

README  arch/   build/  src/    util/

Go to the source directory:

$ cd state-5.6.14/src

make a symbolic link to make.arch as follows, e.g.

$ ln -s ../arch/make.arch.intel_smith make.arch

and edit make.arch according to your need. Then type

$ make

You will get the executable STATE in the source directory.

sb100 @ Morikawa group

As in the case of smith, make sure modules are loaded as appropriate. Type:

$ module avail

and you can see as follows:

1) intel/2021.2.0   2) intelmpi/2021.2.0

If not, type the following:

$ module load intel/2021.2.0
$ module load intelmpi/2021.2.0

Change the directory to STATE/src and copy the source code state-5.6.14.tgz from my directory, and unpack the source code there:

$ gzip -dc state-5.6.14.tgz | tar xf -

or

$ tar zxf state-5.6.14.tgz

state-5.6.14/ contains the following file and directories:

README  arch/   build/  src/    util/

Go to the source directory:

$ cd state-5.6.14/src

make a symbolic link to make.arch as follows, e.g.

$ ln -s ../arch/make.arch.intel_sb100 make.arch

and edit make.arch according to your need. Then type

$ make

You will get the executable STATE in the source directory.

ohtaka @ ISSP

On ohtaka at ISSP, we have confirmed that the following modules can be used safely (see a note below):

1) oneapi_compiler/2023.0.0   2) oneapi_mkl/2023.0.0   3) openapi_mpi/2023.0.0

Change the directory to STATE/src and copy the source code state-5.6.14.tgz from my directory, and unpack the source code there:

$ gzip -dc state-5.6.14.tgz | tar xf -

or

$ tar zxf state-5.6.14.tgz

state-5.6.14/ contains the following file and directories:

README  arch/   build/  src/    util/

Go to the source directory:

$ cd state-5.6.14/src

make a symbolic link to make.arch as follows, e.g.

$ ln -s ../arch/make.arch.intel_ohtaka_scalapack make.arch

and type

$ make

Warning

When running a code build with Intel MPI (oneapi_mpi/2023.0.0), set export FI_PROVIDER=psm3 in the job script, along with the modules used above.

SQUID @ Cybermedia Center, Osaka University

On SQUID at Cybermedia Center, Osaka University, we use the following modules:

  • BaseCPU

  • BasePy

Current default modules are BaseCPU/2023 and BasePy/2023. Type or write the following to use these modules

module load BaseCPU/2023
module load BasePy/2023

Loaded modules are followings:

1) inteloneAPI/2023.0   5) compiler/latest   9) dal/latest                13) mkl/latest       17) BaseCPU/2023(default)
2) tbb/latest           6) mpi/latest       10) inspector/latest          14) vtune/latest     18) python3/3.6
3) compiler-rt/latest   7) advisor/latest   11) intel_ipp_intel64/latest  15) debugger/latest  19) BasePy/2023(default)
4) oclfpga/latest       8) clck/latest      12) itac/latest               16) dpl/latest

Change the directory to STATE/src and copy the source code state-5.6.14.tgz from my directory, and unpack the source code there:

$ gzip -dc state-5.6.14.tgz | tar xf -

or

$ tar zxf state-5.6.14.tgz

state-5.6.14/ contains the following file and directories:

README  arch/   build/  src/    util/

Go to the source directory:

$ cd state-5.6.14/src

make a symbolic link to make.arch as follows, e.g.

$ ln -s ../arch/make.arch.intel_squid make.arch

Then, type

$ make