Skip to content
Snippets Groups Projects
Makefile.inc.gpc.intelmpi 3.94 KiB
Newer Older
# Define our compilers.................................
#
# The default - OpenMPI
#MPI_HOME=/scinet/gpc/mpi/openmpi/1.3.2-intel-v11.0-ofed
# The alternative - MVAPICH2
#MPI_HOME=/scinet/gpc/mpi/mvapich2/1.4rc1-3378_intel-v11.0_ofed
# Alternative 2 - IntelMPI
MPI_HOME=/scinet/gpc/intel/impi/3.2.2.006
F90    = $(MPI_HOME)/bin64/mpif90
F77    = $(MPI_HOME)/bin64/mpif90
CC     = $(MPI_HOME)/bin64/mpicc

#AR=ar
AR=xiar
BITS=

IMKL = /scinet/gpc/intel/Compiler/11.1/056/mkl/include
INCLUDE=-I$(IMKL)

# Define FORTRAN compiler flags.......................
#
# For the PGI compiler
#F90FLAGS  = -O0
#F77FLAGS  = -O0
F90FLAGS  = -fast
F77FLAGS  = -fast
#F90FLAGS  = -O0 -mp -tpp7 -g -debug all -check all -implicitnone -warn unused -fp-stack-check -heap-arrays -ftrapuv -check pointers -check bounds
#F77FLAGS  = -O0 -mp -tpp7 -g -debug all -check all -implicitnone -warn unused -fp-stack-check -heap-arrays -ftrapuv -check pointers -check bounds
#F90FLAGS  = -O0 -i8 -fp-model strict -g -debug all -implicitnone -fp-stack-check -heap-arrays -ftrapuv -check pointers
#F77FLAGS  = -O0 -i8 -fp-model strict -g -debug all -implicitnone -fp-stack-check -heap-arrays -ftrapuv -check pointers
#F90FLAGS  = -O0 -fp-model strict -g -debug all
#F77FLAGS  = -O0 -fp-model strict -g -debug all
#F90FLAGS  = -fast -Mipa=fast,inline -Kieee -tp amd64
#F77FLAGS  = -fast -Mipa=fast,inline -Kieee -tp amd64
#F90FLAGS  = -O2 -Kieee -tpp7
#F77FLAGS  = -O2 -Kieee -tpp7

# Define C compiler flags.............................
#
#CFLAGS  = -O0 -I.
CFLAGS  = -fast -I.
#CFLAGS  = -O0 -DMKL_ILP64 -I. -fp-model strict -g -debug all
#CFLAGS  = -O0 -I. -fp-model strict -g -debug all
#CFLAGS  = -fast -Mipa=fast,inline -Msmartalloc -I. -Kieee -tp amd64 
#CFLAGS  = -O2 -I. -Kieee -tpp7

# Libraries
#SCALAPACK  = -L/scinet/gpc/intel/Compiler/11.1/056/mkl/lib/em64t -lmkl_scalapack_lp64

# Blacs
#
#BLACSCINIT = /usr/local/blacs/LIB/blacsCinit_MPI-LINUX-0.a
#BLACSFINIT = /usr/local/blacs/LIB/blacsF77init_MPI-LINUX-0.a
#BLACSL     = /usr/local/blacs/LIB/blacs_MPI-LINUX-0.a
#BLACSCINIT = /scinet/gpc/intel/Compiler/11.1/056/mkl/lib/em64t/libmkl_blacs_openmpi_lp64.a
#BLACSFINIT = /scinet/gpc/intel/Compiler/11.1/056/mkl/lib/em64t/libmkl_blacs_openmpi_lp64.a
#BLACSL     = /scinet/gpc/intel/Compiler/11.1/056/mkl/lib/em64t/libmkl_blacs_openmpi_lp64.a
#BLACSC = $(BLACSCINIT) $(BLACSL) $(BLACSCINIT)
#BLACSF = $(BLACSFINIT) $(BLACSL) $(BLACSFINIT)
#BLACS  = $(BLACSC) $(BLACSF)

# Intel MKL libs
LMKL = /scinet/gpc/intel/Compiler/11.1/056/mkl/lib

# MPI
#
MPI    = -L$(MPI_HOME)/lib64 -lmpi
#MPI    = -L$(MPI_HOME)/lib -lmpich

WSMP = /home/dwhipp/software/wsmp/wsmp-Linux64/lib/Intel
#WSMP = /home/dwhipp/software/wsmp/wsmp-Linux64-MPI2

# Use Google's TCMalloc
#TCML   = /home/dwhipp/software/tcml

LIBS = \
 -LOCTREE -lOctree$(BITS) \
 -LNN -lnn_f$(BITS) \
 -LNN -lnn_c$(BITS) \
 -LCASCADE -lcascade$(BITS) \
 -LRESAMPLE -lresample$(BITS) \
 -L$(WSMP) -lpwsmp64mpi2 \
 -L$(LMKL) -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 \
 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 \
 $(MPI) -lpthread
 #-L$(TCML) -ltcmalloc_minimal \
 #-L$(TCML) -lstacktrace \
 #-L$(TCML) -lunwind \
 #-L$(LMKL) -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 \

# The Makefiles look at compile output with this
PAGER=more

# compile rules.......................................
#
COMPILE_OUT=$(NAME)$(BITS).compile
.SUFFIXES:
.SUFFIXES: .o .c .f .f90
.f90.o:
	@echo "--"                                   >>$(COMPILE_OUT) 2>&1
	@echo "$(F90) $(F90FLAGS) $(INCLUDES) -c $<" >>$(COMPILE_OUT) 2>&1
	$(F90) $(F90FLAGS) $(INCLUDES) -c $<         >>$(COMPILE_OUT) 2>&1

.f.o:
	@echo "--"                                   >>$(COMPILE_OUT) 2>&1
	@echo "$(F77) $(F77FLAGS) $(INCLUDES) -c $<" >>$(COMPILE_OUT) 2>&1
	$(F77) $(F77FLAGS) $(INCLUDES) -c $<         >>$(COMPILE_OUT) 2>&1

.c.o:
	@echo "--"                                 >>$(COMPILE_OUT) 2>&1
	@echo "$(CC) $(CFLAGS) -c $<"              >>$(COMPILE_OUT) 2>&1
	$(CC) $(CFLAGS) -c $<                      >>$(COMPILE_OUT) 2>&1