# modules required: intel impi mkl fftw2 # Before using make, use: # $ module load intel fftw2 # $ module swap mvapich2 impi #------------------------------------------------------------------------------- # # Copyright (c) 2016 The Regents of the University of California # # This file is part of Qbox # # Qbox is distributed under the terms of the GNU General Public License # as published by the Free Software Foundation, either version 2 of # the License, or (at your option) any later version. # See the file COPYING in the root directory of this distribution # or . # #------------------------------------------------------------------------------- # # stampede.mk # #------------------------------------------------------------------------------- # PLTOBJECTS = CXX=mpicxx LD=mpicxx PLTFLAGS += -DUSE_MPI -DSCALAPACK -DADD_ PLTFLAGS += -D__linux__ PLTFLAGS += -DUSE_XERCES PLTFLAGS += -DUSE_DFFTW PLTFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 PLTFLAGS += -DPARALLEL_FS #PLTFLAGS += -DCHOLESKY_REMAP=16 PLTFLAGS += -DMPICH_IGNORE_CXX_SEEK # FFT must be FFTW2, FFTW3, ESSL or NOLIB FFT=FFTW2 ifeq ($(FFT),FFTW2) PLTFLAGS += -DUSE_FFTW2 LIBS += -lfftw endif ifeq ($(FFT),FFTW3) PLTFLAGS += -DUSE_FFTW3 #PLTFLAGS += -DFFTWMEASURE #PLTFLAGS += -DFFTW_TRANSPOSE PLTFLAGS += -DFFTW3_2D LIBS += -lfftw3 endif ifeq ($(FFT),ESSL) $(error ESSL library not available) endif ifeq ($(FFT),NOLIB) PLTFLAGS += -DFFT_NOLIB endif INCLUDE = -I$(TACC_FFTW2_INC) CXXFLAGS= -O3 -qno-openmp $(INCLUDE) $(PLTFLAGS) $(DFLAGS) LDFLAGS = $(LIBPATH) $(LIBS) LIBPATH = LIBS = -L$(MKLROOT)/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 \ -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread \ -lmkl_lapack95_lp64 -lm \ -L$(TACC_FFTW2_LIB) -ldfftw \ -luuid -lxerces-c \ #-------------------------------------------------------------------------------