From 3dd1df7bb5259dbc1300fc36adaa14d243a9534e Mon Sep 17 00:00:00 2001
From: Dave Whipp <dwhipp@dal.ca>
Date: Wed, 3 Feb 2010 03:42:11 +0000
Subject: [PATCH] New Makefile.inc(s) for SciNet

---
 src/Makefile.inc.gpc.intelmpi | 112 ++++++++++++++++++++++++++++++++++
 src/Makefile.inc.gpc.mvapich2 | 110 +++++++++++++++++++++++++++++++++
 src/Makefile.inc.gpc.openmpi  | 110 +++++++++++++++++++++++++++++++++
 3 files changed, 332 insertions(+)
 create mode 100644 src/Makefile.inc.gpc.intelmpi
 create mode 100644 src/Makefile.inc.gpc.mvapich2
 create mode 100644 src/Makefile.inc.gpc.openmpi

diff --git a/src/Makefile.inc.gpc.intelmpi b/src/Makefile.inc.gpc.intelmpi
new file mode 100644
index 00000000..5eb1fb79
--- /dev/null
+++ b/src/Makefile.inc.gpc.intelmpi
@@ -0,0 +1,112 @@
+# 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
diff --git a/src/Makefile.inc.gpc.mvapich2 b/src/Makefile.inc.gpc.mvapich2
new file mode 100644
index 00000000..a9c18551
--- /dev/null
+++ b/src/Makefile.inc.gpc.mvapich2
@@ -0,0 +1,110 @@
+# 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
+F90    = $(MPI_HOME)/bin/mpif90
+F77    = $(MPI_HOME)/bin/mpif90
+CC     = $(MPI_HOME)/bin/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
+#F77FLAGS  = -O0 -fp-model strict
+#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
+#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)/lib -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_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
diff --git a/src/Makefile.inc.gpc.openmpi b/src/Makefile.inc.gpc.openmpi
new file mode 100644
index 00000000..141607b5
--- /dev/null
+++ b/src/Makefile.inc.gpc.openmpi
@@ -0,0 +1,110 @@
+# 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
+F90    = $(MPI_HOME)/bin/mpif90
+F77    = $(MPI_HOME)/bin/mpif90
+CC     = $(MPI_HOME)/bin/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)/lib -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_openmpi_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
-- 
GitLab