# # READ IT FIRST, PLEASE ! # # IT is make file (arch.make) for both Infiniband and Gigabit interconnects. Default one here is Infiniband. # If you run jobs withing one node then please use Gigabit. # Attention! Use the right submission script i.e. for infiniband or for gigabit correspondingly with right # Parallel Enviroment (PE) which is "mvapich2" for Infiniband and "mpi2" for Gigabit. # # # "Ideas" about Siesta compilation could be found @ # http://wiki.hpc.ufl.edu/index.php/Siesta or here http://wiki.ifca.es/e-ciencia/index.php/SIESTA # Below is arch.make for Infiniband interconnect !!! i.e. one has to use Infiniband submission script! # # File: Src/arch.make # # 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-Intel FPP= FPP_OUTPUT= # #FOR GIGABIT INTERCONNECT FC=/opt/mpich2/intel/14.0/bin/mpif90 RANLIB=ranlib SYS=nag SP_KIND=4 DP_KIND=8 KINDS=$(SP_KIND) $(DP_KIND) FFLAGS=-O2 FPPFLAGS= -DMPI -DFC_HAVE_FLUSH -DFC_HAVE_ABORT ## -DFC_HAVE_FLUSH -DFC_HAVE_ABORT LDFLAGS=-i-static ARFLAGS_EXTRA= FCFLAGS_fixed_f= FCFLAGS_free_f90= FPPFLAGS_fixed_F= FPPFLAGS_free_F90= BLAS_LIBS= # LAPACK_LIBS=-mkl BLACS_LIBS= SCALAPACK_LIBS=-mkl -L/opt/intel/mkl/lib/intel64/ -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lfftw3xc_intel -lfftw3xf_intel COMP_LIBS=dc_lapack.a 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 # #FOR INFINIBAND INTERCONNECT # #FOR GIGABIT INTERCONNECT MPI_INCLUDE=/opt/mpich2/intel/14.0/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) $<