# 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 MPI_HOME=/scinet/gpc/intel/impi/4.0.0.027 F90 = $(MPI_HOME)/bin64/mpif90 F77 = $(MPI_HOME)/bin64/mpif90 CC = $(MPI_HOME)/bin64/mpicc #F90 = scalasca -instrument mpif90 #F77 = scalasca -instrument mpif90 #CC = scalasca -instrument mpicc #AR=ar AR=xiar BITS= #IMKL = /scinet/gpc/intel/Compiler/11.1/056/mkl/include IMKL = /scinet/gpc/intel/Compiler/11.1/072/mkl/include INCLUDE=-I$(IMKL) # Define FORTRAN compiler flags....................... # # For the PGI compiler #F90FLAGS = -O0 #F77FLAGS = -O0 #F90FLAGS = -O1 #F77FLAGS = -O1 #F90FLAGS = -O2 #F77FLAGS = -O2 #F90FLAGS = -O3 #F77FLAGS = -O3 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 = -O1 -I. #CFLAGS = -O2 -I. #CFLAGS = -O3 -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 # Intel MKL libs #LMKL = /scinet/gpc/intel/Compiler/11.1/056/mkl/lib LMKL = /scinet/gpc/intel/Compiler/11.1/072/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 WSMP = /home/dwhipp/software/wsmp/wsmp-Linux64-IMPI # 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) -lpwsmp64SCI \ -L$(LMKL) -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 \ $(MPI) -lpthread #-L$(WSMP) -lpwsmp64SCI \ #-L$(WSMP) -lpwsmp64mpi2 \ #-L$(TCML) -ltcmalloc_minimal \ #-L$(TCML) -lstacktrace \ #-L$(TCML) -lunwind \ #-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 \ #$(MPI) -lpthread # 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