Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 37 additions & 37 deletions Make_defs
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
# output name
MURaM_HOME_DIR=/u/damp/MURaM_GPU/MURaM_main/
MURaM_HOME_DIR ?= /u/damp/MURaM_GPU/MURaM_main/

# FFT = FFTW or HEFFTE or HEFFTE_CPU
FFT_MODE=FFTW #HEFFTE_CPU
CUDA_HOME=/mpcdf/soft/SLE_15/packages/x86_64/nvhpcsdk/21.11/Linux_x86_64/21.11/cuda/11.5
CUDATOOLS=/mpcdf/soft/SLE_15/packages/x86_64/nvhpcsdk/21.11/Linux_x86_64/21.11/math_libs/11.5
FFT_MODE ?= FFTW #HEFFTE_CPU
CUDA_HOME ?= /mpcdf/soft/SLE_15/packages/x86_64/nvhpcsdk/21.11/Linux_x86_64/21.11/cuda/11.5
CUDATOOLS ?= /mpcdf/soft/SLE_15/packages/x86_64/nvhpcsdk/21.11/Linux_x86_64/21.11/math_libs/11.5

FFTW3_HOME=/u/damp/lib/fftw3310/nvhpc_21.11_ompi_4.1.2_UCX_gpfs_O3
HEFFTE_HOME=/u/damp/lib/heffte_fftw3310/nvhpc_21.11_ompi_4.1.2_UCX_gpfs_O3_nogpud
FFTW3_HOME ?= /u/damp/lib/fftw3310/nvhpc_21.11_ompi_4.1.2_UCX_gpfs_O3
HEFFTE_HOME ?= /u/damp/lib/heffte_fftw3310/nvhpc_21.11_ompi_4.1.2_UCX_gpfs_O3_nogpud

PROGRAM = mhd3d.x
PROGRAM ?= mhd3d.x

# Optimization option
OPT = -O0 -acc -gpu=cc80,nofma,lineinfo -Minfo=accel -Mnofma -std=c++11
OPT ?= -O0 -acc -gpu=cc80,nofma,lineinfo -Minfo=accel -Mnofma -std=c++11

# Debugging option (for development) use -pg -g3
DBG = -Wall
DBG ?= -Wall

# FILEPATH option (default: ./) - This is useful
# to write files to special directories on some machines
FILEPATH = ./
FILEPATH ?= ./

# Machine architecture
ARCH = rs6000
ARCH ?= rs6000
########################################################

######## Custom Flags for MURaM ########################
CUSTOM_FLAGS = -DMURAM_$(FFT_MODE)
CUSTOM_FLAGS ?= -DMURAM_$(FFT_MODE)

######## The shell command #############################
SHELL=/bin/sh
Expand All @@ -35,17 +35,17 @@ SHELL=/bin/sh
ifdef FFTW3_HOME

FFTWHOME = $(FFTW3_HOME)
FFTWLIBDIR = -L$(FFTWHOME)/lib
FFTWINCDIR = -I$(FFTWHOME)/include
FFTWLIBDIR ?= -L$(FFTWHOME)/lib
FFTWINCDIR ?= -I$(FFTWHOME)/include

ifeq ($(FFT_MODE), FFTW)
FFTWLIB = -lfftw3_mpi -lfftw3_threads -lfftw3
FFTWLIB ?= -lfftw3_mpi -lfftw3_threads -lfftw3
endif
ifeq ($(FFT_MODE), HEFFTE_CPU)
FFTWLIB = -lfftw3 -lfftw3f
FFTWLIB ?= -lfftw3 -lfftw3f
endif
ifeq ($(FFT_MODE), HEFFTE)
FFTWLIB = -lfftw3 -lfftw3f
FFTWLIB ?= -lfftw3 -lfftw3f
endif

else
Expand All @@ -57,12 +57,12 @@ endif
########################################################
ifdef CUDA_HOME
CUDAHOME = $(CUDA_HOME)
CUDAFFT = -lcufft
CUDAFFTLIB = -L$(CUDATOOLS)/lib64
CUDAFFTINC = -I$(CUDATOOLS)/include
CUDALIB = -lcudart
CUDALIBDIR = -L$(CUDAHOME)/lib64
CUDAINCDIR = -I$(CUDAHOME)/include
CUDAFFT ?= -lcufft
CUDAFFTLIB ?= -L$(CUDATOOLS)/lib64
CUDAFFTINC ?= -I$(CUDATOOLS)/include
CUDALIB ?= -lcudart
CUDALIBDIR ?= -L$(CUDAHOME)/lib64
CUDAINCDIR ?= -I$(CUDAHOME)/include
else
CUDAHOME =
CUDALIB =
Expand All @@ -73,9 +73,9 @@ endif
ifdef HEFFTE_HOME

HEFFTEHOME = $(HEFFTE_HOME)
HEFFTELIBDIR = -L$(HEFFTEHOME)/lib
HEFFTEINCDIR = -I$(HEFFTEHOME)/include
HEFFTELIB = -lheffte
HEFFTELIBDIR ?= -L$(HEFFTEHOME)/lib
HEFFTEINCDIR ?= -I$(HEFFTEHOME)/include
HEFFTELIB ?= -lheffte

else
HEFFTEHOME =
Expand All @@ -84,7 +84,7 @@ HEFFTELIBDIR =
HEFFTEINCDIR =
endif
########################################################
MASSLIB =
MASSLIB =

######### MPI options ##################################
MPIHOME=
Expand All @@ -98,10 +98,11 @@ MPIOINCDIR=
MPIOLIB=

######### General options ##############################

DEFS = $(OPT) $(CUSTOM_FLAGS) $(DBG) $(PRE)

INCLUDES = -I../ -I$(MURaM_HOME_DIR)/include -I$(MURaM_HOME_DIR)/src/rt $(MPIINCDIR) $(MPIOINCDIR) \
INCLUDES = -I../ -I$(MURaM_HOME_DIR)/include -I$(MURaM_HOME_DIR)/src/rt \
$(MPIINCDIR) $(MPIOINCDIR) \
$(HEFFTEINCDIR) $(FFTWINCDIR) $(CUDAINCDIR) $(CUDAFFTINC)

LIBS = $(MPILIBDIR) $(MPIOLIB) $(MPILIB) \
Expand All @@ -112,20 +113,20 @@ LIBS = $(MPILIBDIR) $(MPIOLIB) $(MPILIB) \
$(MASSLIB) -lm

######### C options #####################################
CC = mpicc
LD = mpic++
CCC = mpic++
CC ?= mpicc
LD ?= mpic++
CCC ?= mpic++

CFLAGS = $(DEFS) $(INCLUDES)
CCFLAGS = $(CFLAGS)

LDFLAGS = $(DEFS)
LDFLAGS = $(DEFS)
LDFLAGS += $(LIBS)

######## Mixed command #################################
RM = rm
AR = ar
RANLIB = ranlib
RM ?= rm
AR ?= ar
RANLIB ?= ranlib

######### Suffix rules ########################################
.SUFFIXES : .o .cc .c .C .cpp .c++
Expand All @@ -140,4 +141,3 @@ RANLIB = ranlib
$(CCC) $(CCFLAGS) -c $<
.cc.o:
$(CCC) $(CCFLAGS) -c $<