Compiling ELK 2.3.22 on ARCHER Phase 1 (Cray XC30, Ivy Bridge)
The instructions below were used to build ELK 2.3.22 which is currently installed on ARCHER.
Set up your environment
Load the module for the Intel compiler environment and load the module for FFTW3:
module swap PrgEnv-cray PrgEnv-intel module load fftw/3.3.0.4
Module list for centrally installed executable:
1) modules/3.2.6.7 2) eswrap/1.1.0-1.010400.915.0 3) switch/1.0-1.0501.47124.1.93.ari 4) craype-network-aries 5) craype/2.1.1 6) pbs/12.1.400.132424 7) craype-ivybridge 8) cray-mpich/6.3.1 9) packages-archer 10) budgets/1.1 11) checkScript/1.1 12) bolt/0.5 13) serialJobs/1.0 14) python/2.7.6 15) tkdiff/4.2 16) nano/2.2.6 17) imagemagick/6.8.8-2 18) epcc-tools/1.0 19) intel/14.0.1.106 20) cray-libsci/12.2.0 21) udreg/2.3.2-1.0501.7914.1.13.ari 22) ugni/5.0-1.0501.8253.10.22.ari 23) pmi/5.0.3-1.0000.9981.128.2.ari 24) dmapp/7.0.1-1.0501.8315.8.4.ari 25) gni-headers/3.0-1.0501.8317.12.1.ari 26) xpmem/0.1-2.0501.48424.3.3.ari 27) job/1.5.5-0.1_2.0501.48066.2.43.ari 28) csa/3.0.0-1_2.0501.47112.1.91.ari 29) dvs/2.4_0.9.0-1.0501.1672.2.122.ari 30) alps/5.1.1-2.0501.8507.1.1.ari 31) rca/1.0.0-2.0501.48090.7.46.ari 32) atp/1.7.2 33) PrgEnv-intel/5.1.29 34) fftw/3.3.0.4
Build ELK 2.3.22
First obtain a copy of the ELK code from the ELK Download Webpage.
Unpack the distribution package:
gunzip elk-2.3.22.tgz tar xvf elk-2.3.22.tar
Set up the compiler used as Intel Fortran compiler with OpenMP:
cd elk-2.3.22 chmod +x setup ./setup Choose compiler: 1. Intel Fortran (ifort) with OpenMP 2. GNU Fortran (gfortran) with OpenMP 3. Portland Group Fortran (pgf90) with OpenMP 4. G95 (g95) 5. NAG Fortran (nagfor) 6. IBM Fortran (xlf90_r) with OpenMP 20. Intel Fortran profiling (debug only) 21. GNU Fortran code check (debug only) 22. G95 code check (debug only) o. Other x. Exit 1 You can now edit the compiler options in 'make.inc' to use optimised BLAS/LAPACK/FFT libraries, MPI parallelisation and Libxc. See the Elk manual for details. Then run 'make' to compile the code.
A make.inc will be available for edit. An example make.inc for compiling ELK on ARCHER is provided below. Please remember to comment out the unnecessary pre-settings in the original make.inc.
MKLROOT=/opt/intel/composer_xe_2013_sp1.1.106/mkl MAKE = make F90 = ftn F90_OPTS = -O3 -ip -openmp -I$(MKLROOT)/include F77 = ftn F77_OPTS = -O3 -ip -openmp -I$(MKLROOT)/include AR = ar LIB_SYS = # LAPACK and BLAS libraries LIB_LPK = -mkl -L$(MKLROOT)/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -lpthread -lm -openmp -lfftw3_threads -lfftw3 SRC_MPI= SRC_FFT=zfftifc_fftw.f90
Run 'make' to compile the code:
make
The executable 'elk' will be in the /elk-2.3.22/src directory. There are several examples available in /elk-2.3.22/examples.