Skip to content

Commit 0cc3bec

Browse files
committed
updated && added Makefile
1 parent e3a6bd3 commit 0cc3bec

File tree

32 files changed

+342
-33
lines changed

32 files changed

+342
-33
lines changed
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
CUDA_PATH=/usr/local/cuda
2+
HOST_COMPILER ?= g++
3+
NVCC=${CUDA_PATH}/bin/nvcc -ccbin ${HOST_COMPILER}
4+
TARGET=hello_world
5+
6+
INCLUDES= -I${CUDA_PATH}/samples/common/inc
7+
NVCC_FLAGS=-m64 -lineinfo
8+
9+
# Gencode argumentes
10+
SMS = 30 35 37 50 52 60 61 70
11+
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
12+
13+
hello_world: hello_world.cu
14+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
15+
16+
clean:
17+
rm -f ${TARGET}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
CUDA_PATH=/usr/local/cuda
2+
HOST_COMPILER ?= g++
3+
NVCC=${CUDA_PATH}/bin/nvcc -ccbin ${HOST_COMPILER}
4+
TARGET=vector_addition vector_addition_blocks vector_addition_threads vector_addition_threads_blocks
5+
6+
INCLUDES= -I${CUDA_PATH}/samples/common/inc
7+
NVCC_FLAGS=-m64 -lineinfo
8+
9+
# Gencode argumentes
10+
SMS = 30 35 37 50 52 60 61 70
11+
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
12+
13+
all : ${TARGET}
14+
15+
vector_addition: vector_addition.cu
16+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
17+
18+
vector_addition_blocks: vector_addition_gpu_block_only.cu
19+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
20+
21+
vector_addition_threads: vector_addition_gpu_thread_only.cu
22+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
23+
24+
vector_addition_threads_blocks: vector_addition_gpu_thread_block.cu
25+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
26+
27+
clean:
28+
rm -f ${TARGET}

Diff for: Chapter01/01_cuda_introduction/Makefile

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Project folders that contain CUDA receipts
2+
PROJECTS ?= $(shell find \
3+
$(shell ls -d */) \
4+
-name Makefile)
5+
6+
%.ph_build:
7+
+@$(MAKE) -C $(dir $*) $(MAKECMDGOALS)
8+
9+
%.ph_clean:
10+
+@$(MAKE) -C $(dir $*) clean $(USE_DEVICE)
11+
12+
all: $(addsuffix .ph_build,$(PROJECTS))
13+
@echo "Finished building CUDA Receipts"
14+
15+
build: $(addsuffix .ph_build,$(PROJECTS))
16+
17+
tidy:
18+
@find * | egrep "#" | xargs rm -f
19+
@find * | egrep "\~" | xargs rm -f
20+
@find * | egrep "nvvp" | xargs rm -f
21+
22+
.PHONY: clean
23+
clean: tidy $(addsuffix .ph_clean,$(PROJECTS))
24+
25+
test:
26+
echo $(DIRECTORY)

Diff for: Chapter02/02_memory_overview/01_sgemm/Makefile

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
CUDA_PATH=/usr/local/cuda
2+
HOST_COMPILER ?= g++
3+
NVCC=${CUDA_PATH}/bin/nvcc -ccbin ${HOST_COMPILER}
4+
TARGET=sgemm
5+
6+
INCLUDES= -I${CUDA_PATH}/samples/common/inc
7+
NVCC_FLAGS=-m64 -lineinfo
8+
9+
# Gencode argumentes
10+
SMS = 30 35 37 50 52 60 61 70
11+
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
12+
13+
all : ${TARGET}
14+
15+
sgemm: sgemm.cu
16+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
17+
18+
clean:
19+
rm -f ${TARGET}
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
CUDA_PATH=/usr/local/cuda
2+
HOST_COMPILER ?= g++
3+
NVCC=${CUDA_PATH}/bin/nvcc -ccbin ${HOST_COMPILER}
4+
TARGET=vec_addition
5+
6+
INCLUDES= -I${CUDA_PATH}/samples/common/inc
7+
NVCC_FLAGS=-m64 -lineinfo
8+
9+
# Gencode argumentes
10+
SMS = 30 35 37 50 52 60 61 70
11+
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
12+
13+
all : ${TARGET}
14+
15+
vector_addition_gpu_thread_block: vector_addition_gpu_thread_block.cu
16+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
17+
18+
clean:
19+
rm -f ${TARGET}

Diff for: Chapter02/02_memory_overview/03_aos_soa/Makefile

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
CUDA_PATH=/usr/local/cuda
2+
HOST_COMPILER ?= g++
3+
NVCC=${CUDA_PATH}/bin/nvcc -ccbin ${HOST_COMPILER}
4+
TARGET=aos_soa aos_soa_solved
5+
6+
INCLUDES= -I${CUDA_PATH}/samples/common/inc
7+
NVCC_FLAGS=-m64 -lineinfo
8+
9+
# Gencode argumentes
10+
SMS = 30 35 37 50 52 60 61 70
11+
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
12+
13+
all : ${TARGET}
14+
15+
aos_soa: aos_soa.cu
16+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
17+
18+
aos_soa_solved: aos_soa_solved.cu
19+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
20+
21+
clean:
22+
rm -f ${TARGET}
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
CUDA_PATH=/usr/local/cuda
2+
HOST_COMPILER ?= g++
3+
NVCC=${CUDA_PATH}/bin/nvcc -ccbin ${HOST_COMPILER}
4+
TARGET=matrix_transpose conflict_solved
5+
6+
INCLUDES= -I${CUDA_PATH}/samples/common/inc
7+
NVCC_FLAGS=-m64 -lineinfo
8+
9+
# Gencode argumentes
10+
SMS = 30 35 37 50 52 60 61 70
11+
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
12+
13+
all : ${TARGET}
14+
15+
matrix_transpose: matrix_transpose.cu
16+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
17+
18+
conflict_solved: conflict_solved.cu
19+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
20+
21+
clean:
22+
rm -f ${TARGET}
+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
CUDA_PATH=/usr/local/cuda
2+
HOST_COMPILER ?= g++
3+
NVCC=${CUDA_PATH}/bin/nvcc -ccbin ${HOST_COMPILER}
4+
TARGET=image_scaling
5+
6+
INCLUDES= -I${CUDA_PATH}/samples/common/inc
7+
NVCC_FLAGS=-m64 -lineinfo
8+
9+
# Gencode argumentes
10+
SMS = 30 35 37 50 52 60 61 70
11+
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
12+
13+
all : ${TARGET}
14+
15+
${OBJ_DIR}/%.o: ${SRC_DIR}/%.cpp ${INCS}
16+
$(NVCC) $(INCLUDES) $(ALL_CCFLAGS) $(GENCODE_FLAGS) -c $< -o $@
17+
${OBJ_DIR}/%.o: ${SRC_DIR}/%.cu ${INCS}
18+
$(NVCC) $(INCLUDES) $(ALL_CCFLAGS) $(GENCODE_FLAGS) -c $< -o $@
19+
20+
image_scaling: image_scaling.cu
21+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@ $<
22+
23+
clean:
24+
rm -f ${TARGET}
+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
CUDA_PATH=/usr/local/cuda
2+
HOST_COMPILER ?= g++
3+
NVCC=${CUDA_PATH}/bin/nvcc -ccbin ${HOST_COMPILER}
4+
TARGET=unified_simple unified_initialized unified_prefetch unified_64align
5+
6+
INCLUDES= -I${CUDA_PATH}/samples/common/inc
7+
NVCC_FLAGS=-m64 -lineinfo
8+
9+
# Gencode argumentes
10+
SMS = 30 35 37 50 52 60 61 70
11+
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
12+
13+
all : ${TARGET}
14+
15+
unified_simple: unified_memory.cu
16+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@.out $<
17+
18+
unified_initialized: unified_memory_initialized.cu
19+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@.out $<
20+
21+
unified_prefetch: unified_memory_prefetch.cu
22+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@.out $<
23+
24+
unified_64align: unified_memory_64align.cu
25+
${NVCC} ${INCLUDES} ${ALL_CCFLAGS} ${GENCODE_FLAGS} -o $@.out $<
26+
27+
clean:
28+
rm -f *.out

Diff for: Chapter02/02_memory_overview/Makefile

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Project folders that contain CUDA receipts
2+
PROJECTS ?= $(shell find \
3+
$(shell ls -d */) \
4+
-name Makefile)
5+
6+
%.ph_build:
7+
+@$(MAKE) -C $(dir $*) $(MAKECMDGOALS)
8+
9+
%.ph_clean:
10+
+@$(MAKE) -C $(dir $*) clean $(USE_DEVICE)
11+
12+
all: $(addsuffix .ph_build,$(PROJECTS))
13+
@echo "Finished building CUDA Receipts"
14+
15+
build: $(addsuffix .ph_build,$(PROJECTS))
16+
17+
tidy:
18+
@find * | egrep "#" | xargs rm -f
19+
@find * | egrep "\~" | xargs rm -f
20+
@find * | egrep "nvvp" | xargs rm -f
21+
22+
.PHONY: clean
23+
clean: tidy $(addsuffix .ph_clean,$(PROJECTS))
24+
25+
test:
26+
echo $(DIRECTORY)

Diff for: Chapter06/06_multigpu/05_streams/Makefile

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
CUDA_PATH=/usr/local/cuda
2+
HOST_COMPILER ?= g++
3+
NVCC=${CUDA_PATH}/bin/nvcc -ccbin ${HOST_COMPILER}
4+
TARGET=vector_addition merging_multi_gpu
5+
6+
INCLUDES = -I${CUDA_PATH}/samples/common/inc
7+
NVCC_FLAGS=-m64 -lineinfo --default-stream per-thread -Xcompiler -fopenmp # --resource-usage
8+
9+
LIBRARIES= -lgomp
10+
11+
# Gencode argumentes
12+
SMS = 30 35 37 50 52 60 61 70
13+
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
14+
15+
all: ${TARGET}
16+
17+
vector_addition: vector_addition.cu
18+
$(EXEC) $(NVCC) $(INCLUDES) $(NVCC_FLAGS) $(GENCODE_FLAGS) -o $@ $+ $(LIBRARIES)
19+
20+
merging_multi_gpu: image_merging.cu scrImagePgmPpmPackage.cu
21+
$(EXEC) $(NVCC) $(INCLUDES) $(NVCC_FLAGS) $(GENCODE_FLAGS) -o $@ $+ $(LIBRARIES)
22+
23+
clean:
24+
rm -f ${TARGET} *.o
File renamed without changes.
File renamed without changes.

Diff for: Chapter06/06_multigpu/06_nccl/Makefile

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
CUDA_PATH=/usr/local/cuda
2+
HOST_COMPILER ?= g++
3+
NVCC=${CUDA_PATH}/bin/nvcc -ccbin ${HOST_COMPILER}
4+
TARGET=nccl
5+
6+
INCLUDES = -I${CUDA_PATH}/samples/common/inc
7+
NVCC_FLAGS=-m64 -lineinfo -lnccl # --resource-usage
8+
9+
# Gencode argumentes
10+
SMS = 30 35 37 50 52 60 61 70
11+
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
12+
13+
all: ${TARGET}
14+
15+
nccl: nccl.cu
16+
$(EXEC) $(NVCC) $(INCLUDES) $(NVCC_FLAGS) $(GENCODE_FLAGS) -o $@ $+ $(LIBRARIES)
17+
18+
clean:
19+
rm -f ${TARGET} *.o
File renamed without changes.

Diff for: Chapter06/06_multigpu/Makefile

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Project folders that contain CUDA receipts
2+
PROJECTS ?= $(shell find \
3+
$(shell ls -d */) \
4+
-name Makefile)
5+
6+
%.ph_build:
7+
+@$(MAKE) -C $(dir $*) $(MAKECMDGOALS)
8+
9+
%.ph_clean:
10+
+@$(MAKE) -C $(dir $*) clean $(USE_DEVICE)
11+
12+
all: $(addsuffix .ph_build,$(PROJECTS))
13+
@echo "Finished building CUDA Receipts"
14+
15+
build: $(addsuffix .ph_build,$(PROJECTS))
16+
17+
tidy:
18+
@find * | egrep "#" | xargs rm -f
19+
@find * | egrep "\~" | xargs rm -f
20+
@find * | egrep "nvvp" | xargs rm -f
21+
22+
clean: tidy $(addsuffix .ph_clean,$(PROJECTS))
23+
24+
test:
25+
echo $(DIRECTORY)

Diff for: Chapter06/06_multigpu/nccl/Makefile

-29
This file was deleted.

Diff for: Chapter07/07_parallel_programming_pattern/04_pack_n_split/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ nvprof: pack_n_split
2323
nvprof -f -o $+-metrics.nvvp --analysis-metrics ./$+
2424

2525
clean:
26-
rm -f ${TARGET} *.o
26+
rm -f ${TARGET} *.o *.nvvp
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
CUDA_PATH=/usr/local/cuda
2+
HOST_COMPILER ?= g++
3+
NVCC=${CUDA_PATH}/bin/nvcc -ccbin ${HOST_COMPILER}
4+
TARGET=n-body
5+
6+
INCLUDES = -I${CUDA_PATH}/samples/common/inc
7+
NVCC_FLAGS=-m64 # --resource-usage
8+
9+
# Gencode argumentes
10+
SMS = 30 35 37 50 52 60 61 70 75
11+
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
12+
13+
LIBRARIES += -L/usr/local/cuda/lib
14+
ALL_CCFLAGS += -std=c++11 $(INCLUDES) $(LIBRARIES)
15+
16+
all : ${TARGET}
17+
18+
n-body: n_body.cu
19+
$(EXEC) $(NVCC) $(ALL_CCFLAGS) $(GENCODE_FLAGS) -o $@ $+
20+
21+
nvprof: n-body
22+
nvprof -f -o $+.nvvp --profile-from-start off ./$+
23+
nvprof -f -o $+-metrics.nvvp --analysis-metrics ./$+
24+
25+
clean:
26+
rm -f ${TARGET} *.o *.nvvp

Diff for: Chapter07/07_parallel_programming_pattern/06_quicksort/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ INCLUDES =
77
NVCC_FLAGS=-m64 -lineinfo #--resource-usage
88

99
# Gencode argumentes
10-
SMS = 70 75
10+
SMS = 30 35 37 50 52 60 61 70 75
1111
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
1212

1313
ALL_CCFLAGS += -rdc=true $(NVCC_FLAGS) $(INCLUDES)

Diff for: Chapter07/07_parallel_programming_pattern/07_radixsort/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ INCLUDES =
77
NVCC_FLAGS=-m64 -lineinfo #--resource-usage
88

99
# Gencode argumentes
10-
SMS = 70 75
10+
SMS = 30 35 37 50 52 60 61 70 75
1111
$(foreach sm, ${SMS}, $(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
1212

1313
ALL_CCFLAGS += -rdc=true $(NVCC_FLAGS) $(INCLUDES)

0 commit comments

Comments
 (0)