From 2f01af059555976df7cbea9724f095d883410dfd Mon Sep 17 00:00:00 2001 From: Evghenii Date: Sun, 5 Jan 2014 11:01:19 +0100 Subject: [PATCH] +1 --- examples_ptx/common_gpu.mk | 25 +++++++++++++++++----- examples_ptx/mandelbrot_tasks/Makefile_gpu | 3 ++- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/examples_ptx/common_gpu.mk b/examples_ptx/common_gpu.mk index 2a0c4af9..a4f5fbbc 100644 --- a/examples_ptx/common_gpu.mk +++ b/examples_ptx/common_gpu.mk @@ -6,6 +6,9 @@ CXXFLAGS=-O3 -I$(CUDATK)/include -Iobjs_gpu/ -D_CUDA_ # NVCC=nvcc NVCC_FLAGS=-O3 -arch=sm_35 -D_CUDA_ +ifdef PTXCC_REGMAX + NVCC_FLAGS += --maxrregcount=$(PTXCC_REGMAX) +endif # LD=nvcc LDFLAGS=-lcudart -lcudadevrt -arch=sm_35 @@ -26,6 +29,7 @@ ISPC_OBJS=$(ISPC_SRC:%.ispc=objs_gpu/%_ispc.o) ISPC_BCS=$(ISPC_SRC:%.ispc=objs_gpu/%_ispc.bc) ISPC_HEADERS=$(ISPC_SRC:%.ispc=objs_gpu/%_ispc.h) CXX_OBJS=$(CXX_SRC:%.cpp=objs_gpu/%_gcc.o) +CU_OBJS=$(CU_SRC:%.cu=objs_gpu/%_cu.o) #NVCC_OBJS=$(NVCC_SRC:%.cu=objs_gpu/%_nvcc.o) # PTXGEN = $(HOME)/ptxgen @@ -34,9 +38,16 @@ CXX_OBJS=$(CXX_SRC:%.cpp=objs_gpu/%_gcc.o) # .SUFFIXES: .bc .o .cu -OBJS=$(ISPC_OBJS) $(CXX_OBJS) $(NVCC_OBJS) +OBJSgpu=$(ISPC_OBJS) $(CXX_OBJS) $(NVCC_OBJS) +PROGgpu = $(PROG)_gpu -all: dirs $(PROG) $(ISPC_BCS) +ifdef CU_SRC + OBJScu=$(CU_OBJS) $(CXX_OBJS) $(NVCC_OBJS) + PROGcu=$(PROG)_cu +endif + + +all: dirs $(PROGgpu) $(PROGcu) $(ISPC_BCS) dirs: /bin/mkdir -p objs_gpu/ @@ -44,10 +55,11 @@ dirs: objs_gpu/%.cpp objs_gpu/%.o objs_gpu/%.h: dirs clean: - echo $(CXX_OBJS) - /bin/rm -rf $(PROG) objs_gpu + /bin/rm -rf $(PROGcu) $(PROGgpu) objs_gpu -$(PROG): $(OBJS) +$(PROGgpu): $(OBJSgpu) + $(LD) -o $@ $^ $(LDFLAGS) +$(PROGcu): $(OBJScu) $(LD) -o $@ $^ $(LDFLAGS) objs_gpu/%_gcc.o: %.cpp $(ISPC_HEADERS) @@ -55,6 +67,9 @@ objs_gpu/%_gcc.o: %.cpp $(ISPC_HEADERS) objs_gpu/%_gcc.o: ../%.cpp $(CXX) $(CXXFLAGS) -o $@ -c $< +objs_gpu/%_cu.o: %.cu $(ISPC_HEADERS) + $(NVCC) $(NVCC_FLAGS) -o $@ -dc $< + objs_gpu/%_nvcc.o: ../%.cu $(NVCC) $(NVCC_FLAGS) -o $@ -c $< objs_gpu/%_nvcc.o: %.cu diff --git a/examples_ptx/mandelbrot_tasks/Makefile_gpu b/examples_ptx/mandelbrot_tasks/Makefile_gpu index a9522e9a..f9732a80 100644 --- a/examples_ptx/mandelbrot_tasks/Makefile_gpu +++ b/examples_ptx/mandelbrot_tasks/Makefile_gpu @@ -1,5 +1,6 @@ -PROG=mandelbrot_tasks_gpu +PROG=mandelbrot_tasks ISPC_SRC=mandelbrot_tasks.ispc +CU_SRC=mandelbrot_tasks.cu CXX_SRC=mandelbrot_tasks.cpp mandelbrot_tasks_serial.cpp include ../common_gpu.mk