Makefile 1.52 KB
###############################################################
###############           DGEMV        ########################
###############################################################

CC              =       icc
MPICC           =       mpiicc
NVCC            =       nvcc
OPTFLAGS        =       -O3 -fopenmp
CPP11FLAGS      =       ${OPTFLAGS} -std=c++11
MKLFLAGS        =       ${OPTFLAGS} -mkl
MPIMKLFLAGS     =       ${OPTFLAGS} -mkl -mt_mpi
HDPIHOME        =       hdpi/installation_dir

all: dgemvcpu dgemvphi dgemvgpu absdevsreader runabsdevreader mpimain

dgemvcpu:
	${CC} ${MKLFLAGS} -o dgemvcpu dgemvcpu.c -lm

dgemvphi:
	${CC} ${MKLFLAGS} -o dgemvphi dgemvphi.c -lm

dgemvgpu:
	${NVCC} -I/usr/local/cuda/include -o dgemvgpu dgemvgpu.c \
		-L/usr/local/cuda/lib64 -lcublas

absdevsreader:
	@echo "--------------------------------------------"
	@echo "Now compiling abstract devices reader file..."
	@echo "--------------------------------------------"
	@echo
	${CC} ${OPTFLAGS} -c cputopology.cpp
	${CC} ${CPP11FLAGS} -o absdevsreader absdevsreader.cpp cputopology.o

runabsdevreader:
	@echo "--------------------------------------------"
	@echo "Now running abstract devices reader to generate absdevs.c..."
	@echo "--------------------------------------------"
	@echo
	./absdevsreader ./absdevs.lst 0

mpimain:
	$(MPICC) -I${HDPIHOME}/include ${MKLFLAGS} -o main main.cpp -L${HDPIHOME}/lib -lhdpi -lm

clean:
	rm -f dgemvcpu dgemvphi dgemvgpu *.o absdevsreader main

###############################################################