Skip to content
compile.mk 1.35 KiB
Newer Older
DEBUG ?= 0  # Set to 1 for debug

# Need to -I this for user-defined functions to work
EXT_DIR = ../External_Functions/

MPI_PREFIX = $(I_MPI_ROOT)
CUDA_PREFIX = $(CUDAROOT)

#compile with gcc
CC=gcc
CPP=g++
MPICC=mpicc
NVCC=nvcc
CFLAGS=-O3 -lm -Wall -mavx -march=ivybridge -mtune=ivybridge -lrt
CPU_COMPILE= $(CC) $(CFLAGS) -I$(EXT_DIR)
CPU_COMPILE_OMP = $(CPU_COMPILE) -fopenmp
MPI_COMPILE= $(MPICC) -I$(EXT_DIR)
MPI_OMP_COMPILE= $(MPI_COMPILE) -fopenmp
GPU_MPI_CXX = $(NVCC) -L $(I_MPI_ROOT)/lib64 -lmpi -ccbin mpiicc
LDFLAGS ?=-L $(CUDA_PREFIX)/lib64 -lcudart -lcublas -lcusparse -lm -lrt 
GPU_COMPILE = $(NVCC) -I $(CUDA_PREFIX)/include  -arch sm_35 -I$(EXT_DIR) $(LDFLAGS)
GPU_MPI_COMPILE = $(GPU_MPI_CXX) -I $(CUDA_PREFIX)/include -I $(I_MPI_ROOT)/include -arch sm_35 -I$(EXT_DIR) $(LDFLAGS)
CPU_COMPILE_CUDA = $(CPP) $(CFLAGS) -I$(EXT_DIR) $(LDFLAGS)

#compile with icc
ICC =icc
MPICC=mpiicc
ICFLAGS=-O3 -Wall -axCORE-AVX2,CORE-AVX-I 
#CPU_COMPILE= $(ICC) $(ICFLAGS) -I$(EXT_DIR)
#CPU_COMPILE_OMP = $(CPU_COMPILE) -qopenmp
#MPI_COMPILE= $(MPICC) $(ICFLAGS) -I$(EXT_DIR)
#MPI_OMP_COMPILE= $(MPI_COMPILE) -mt_mpi -qopenmp

ifeq ($(DEBUG), 1)
	CPU_COMPILE += -D_DEBUG_
endif

CPU_COMPILE_OBJ= $(CPU_COMPILE) -c
CPU_COMPILE_OMP_OBJ= $(CPU_COMPILE_OMP) -c
MPI_COMPILE_OBJ= $(MPI_COMPILE) -c
CPU_COMPILE_CUDA_OBJ= $(CPU_COMPILE_CUDA) -c
GPU_COMPILE_OBJ= $(GPU_COMPILE) -c