|||
Install siesta and transiesta (siesta-3.2-pl-5.tar.gz) on the HLRN-smp system
1) load related modules
module unload sw.mpp1
module load sw.smp1
module load intel.studio/14.0.1.106
module load openmpi/1.8.4-intel
2) cd siesta-3.0-b/Obj/
3) sh ../Src/obj_setup.sh
4) ../Src/configure
5) edit arch.make (changes in red) according to cluster's configuration, posting it as follows:
#
# 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- .
#
# Use of this software constitutes agreement with the full conditions
# given in the SIESTA license, as signed by all legitimate users.
#
.SUFFIXES:
.SUFFIXES: .f .F .o .a .f90 .F90
SIESTA_ARCH=x86_64-unknown-linux-gnu--Intel
FPP=
FPP_OUTPUT=
FC=mpif90
RANLIB=ranlib
SYS=nag
SP_KIND=4
DP_KIND=8
KINDS=$(SP_KIND) $(DP_KIND)
FFLAGS= -O3 -i-static
FFLAGS_DEBUG= -g
FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DMPI -DGRID_DP -DPHI_GRID_SP
#FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT
LDFLAGS=
ARFLAGS_EXTRA=
FCFLAGS_fixed_f=
FCFLAGS_free_f90=
FPPFLAGS_fixed_F=
FPPFLAGS_free_F90=
#BLAS_LIBS=libblas.a
#LAPACK_LIBS=dc_lapack.a liblapack.a
#BLACS_LIBS=
#SCALAPACK_LIBS=
BLAS_LIBS= -L/sw/intel/composer_xe_2013_sp1.1.106/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_blacs_lp64 -lmkl_intel_thread -liomp5 -lpthread -lmkl_sequential -lmkl_core -i-static
LAPACK_LIBS=-L/sw/intel/composer_xe_2013_sp1.1.106/mkl/lib/intel64 -lmkl_sequential -lmkl_core
BLACS_LIBS=-L/sw/intel/composer_xe_2013_sp1.1.106/mkl/lib/intel64 -lmkl_blacs_openmpi_lp64
SCALAPACK_LIBS=-L/sw/intel/composer_xe_2013_sp1.1.106/mkl/lib/intel64 -lmkl_scalapack_lp64
#COMP_LIBS=dc_lapack.a liblapack.a libblas.a
COMP_LIBS=
#NETCDF_LIBS=
#NETCDF_INTERFACE=
LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) $(NETCDF_LIBS)
#SIESTA needs an F90 interface to MPI
#This will give you SIESTA's own implementation
#If your compiler vendor offers an alternative, you may change
#to it here.
MPI_INTERFACE= libmpi_f90.a
MPI_INCLUDE= /sw/comm/openmpi/1.8.4/smp1-intel/include
#Dependency rules are created by autoconf according to whether
#discrete preprocessing is necessary or not.
.F.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F) $<
.F90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $<
.f.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f) $<
.f90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90) $<
make; (to get siesta executable)
make clean; make transiesta (to get transiesta executable)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-6-16 06:27
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社