Compiling SIESTA 2.0.2 on HECToR phase 3
Instructions for compiling the SIESTA code on HECToR phase 3 (Cray XE6, Interlagos)
Module setup
Swap to the PGI compiler
module swap PrgEnv-cray PrgEnv-pgi/4.0.30 module swap pgi pgi/11.9.0
Load the NetCDF and FFTW 3 modules:
module add fftw/3.3.0.0 module add netcdf/4.1.2 module swap hdf5 hdf5/1.8.6
Configure the build
Set the compiler commands
export FC=ftn export MPIFC=ftn
Configure the package:
cd siesta-2.0.2/Src cp Sys/cscs-cray-mpi.make arch.make
Edit top part of arch.make to the following:
# This file is part of the SIESTA package. # # Copyright (c) Fundacion General Universidad Autonoma de Madrid: # E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal # and J.M.Soler, 1996-2006. # # Use of this software constitutes agreement with the full conditions # given in the SIESTA license, as signed by all legitimate users. # SIESTA_ARCH=hector-phase3- cray-mpi # # For Cray XE6 # FC=ftn FPP=pgf90 -F FC_ASIS=$(FC) # FFLAGS=-fastsse FFLAGS_DEBUG= -g -O0 RANLIB=echo COMP_LIBS= # NETCDF_LIBS= # /usr/local/netcdf-3.5/lib/pgi/libnetcdf.a NETCDF_INTERFACE= # libnetcdf_f90.a DEFS_CDF= # -DCDF # KINDS=4 8 MPI_LIBS= MPI_INTERFACE=libmpi_f90.a MPI_INCLUDE=. DEFS_MPI=-DMPI # LIBS= SYS=nag DEFS= $(DEFS_CDF) $(DEFS_MPI)
Build the package
Then build the package:
make