2022-11-11 13:23:45 +01:00
|
|
|
-include ../../../utilities/options.mk
|
|
|
|
-include ../../../utilities/c2.mk
|
|
|
|
|
2022-11-28 14:37:37 +01:00
|
|
|
|
|
|
|
# Disable make output
|
|
|
|
MAKEFLAGS+= --silent
|
|
|
|
|
2022-11-16 17:04:50 +01:00
|
|
|
# -DPOLYBENCH_TIME makes Polybench output the execution time of the program
|
2022-11-28 14:37:37 +01:00
|
|
|
CXXFLAGS+= -DPOLYBENCH_TIME
|
2022-11-16 01:43:59 +01:00
|
|
|
# -Wall and -Wextra enable more warnings
|
2022-11-28 14:37:37 +01:00
|
|
|
CXXFLAGS+= -Wall
|
|
|
|
CXXFLAGS+= -Wextra
|
2022-11-16 01:43:59 +01:00
|
|
|
# -O3 applies all compiler optimization, improving from 800ms to 300ms
|
2022-11-28 14:37:37 +01:00
|
|
|
CXXFLAGS+= -O3
|
2022-11-17 02:59:31 +01:00
|
|
|
# Extend CFLAGS with command line parameters
|
2022-11-28 14:37:37 +01:00
|
|
|
CXXFLAGS+= ${EXTRA_CXXFLAGS}
|
|
|
|
|
|
|
|
# Select the location of the local CUDA install
|
|
|
|
CUDA_HOME:=/opt/cuda
|
|
|
|
# Specify the directory of the nvc compiler
|
|
|
|
NVCC=$(CUDA_HOME)/bin/nvcc
|
|
|
|
# Specify the flags for the nvc compiler
|
|
|
|
NVCFLAGS:=$(CXXFLAGS) $(NVOPT)
|
2022-11-16 17:06:16 +01:00
|
|
|
|
2022-11-16 17:09:27 +01:00
|
|
|
|
2022-11-28 14:37:37 +01:00
|
|
|
# Create an automake definition for .cu files
|
|
|
|
$(BUILD_DIR)/%.cu.o: %.cu
|
2022-11-28 14:41:35 +01:00
|
|
|
$(MKDIR_P) $(dir $@)
|
|
|
|
$(NVCC) $(NVCFLAGS) -c $< -o $@
|
2022-11-17 02:59:31 +01:00
|
|
|
|
2022-11-16 17:09:27 +01:00
|
|
|
.PHONY: bench
|
|
|
|
|
|
|
|
bench:
|
2022-11-16 17:39:09 +01:00
|
|
|
./.bench.sh
|