-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile.old
108 lines (81 loc) · 3.58 KB
/
Makefile.old
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# Panda Code V0.61 04/29/2018 */
# lihui@indiana.edu */
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
all: panda
OPTFLAGS = -O2
INCFLAGS = -I/opt/openmpi/include
CFLAGS = $(OPTFLAGS) $(INCFLAGS) -DBLOCK_SHARED_MEM_OPTIMIZATION=0
NVCCFLAGS = $(CFLAGS)
LDFLAGS = -L/opt/openmpi/lib/
LIBS = -lmpi -lpthread
OBJ_DIR = ./obj
CUOBJ_DIR = ./cuobj
CC = mpicxx
MPICC = mpicxx
NVCC = nvcc
NVCCFLAGS = -I/opt/openmpi/include -lcudart -arch=sm_30 -I./include -I./apps --relocatable-device-code=true
INCFLAGS += -I/usr/include/ -I/usr/local/cuda/include
INCFLAGS += -I./include -I./apps/ -I./include/panda -I./
LDFLAGS += -L/usr/local/cuda/lib64/
APP_WC_CPP_FILES:= $(wildcard apps/word_count/*.cpp)
APP_WC_CU_FILES := $(wildcard apps/word_count/*.cu)
APP_CMEANS_CPP_FILES:= $(wildcard apps/cmeans/*.cpp)
APP_CMEANS_CU_FILES:= $(wildcard apps/cmeans/*.cu)
OS_CPP_FILES := $(wildcard src/oscpp/*.cpp)
PANDA_CPP_FILES := $(wildcard src/panda/*.cpp)
CUDA_CPP_FILES := $(wildcard src/cudacpp/*.cpp)
CUDA_CU_FILES := $(wildcard src/*.cu)
APP_WC_H_FILES := $(wildcard apps/word_count/word_count*.h)
APP_CEMANS_H_FILES:= $(wildcard apps/cmeans/cmeans*.h)
OS_H_FILES := $(wildcard include/oscpp/*.h)
PANDA_H_FILES := $(wildcard include/panda/*.h)
CUDA_H_FILES := $(wildcard include/cudacpp/*.h)
H_FILES := $(wildcard include/*.h)
APP_WC_OBJ_FILES:= $(addprefix obj/,$(notdir $(APP_WC_CPP_FILES:.cpp=.o)))
APP_WC_CU_OBJ_FILES:= $(addprefix cuobj/,$(notdir $(APP_WC_CU_FILES:.cu=.o)))
APP_CMEANS_OBJ_FILES:= $(addprefix obj/,$(notdir $(APP_CMEANS_CPP_FILES:.cpp=.o)))
APP_CMEANS_CU_OBJ_FILES:= $(addprefix cuobj/,$(notdir $(APP_CMEANS_CU_FILES:.cu=.o)))
OS_OBJ_FILES := $(addprefix obj/,$(notdir $(OS_CPP_FILES:.cpp=.o)))
PANDA_OBJ_FILES := $(addprefix obj/,$(notdir $(PANDA_CPP_FILES:.cpp=.o)))
CUDA_OBJ_FILES := $(addprefix obj/,$(notdir $(CUDA_CPP_FILES:.cpp=.o)))
CU_OBJ_FILES := $(addprefix cuobj/,$(notdir $(CUDA_CU_FILES:.cu=.o)))
TARGET_OBJ_FILES:=
WC_OBJ_CU_FILES :=
panda: obj_dir cuobj_dir word_count cmeans
obj_dir:
@if test ! -d $(OBJ_DIR);\
then \
mkdir $(OBJ_DIR);\
fi
cuobj_dir:
@if test ! -d $(CUOBJ_DIR);\
then \
mkdir $(CUOBJ_DIR);\
fi
word_count: $(APP_WC_OBJ_FILES) $(OS_OBJ_FILES) $(PANDA_OBJ_FILES) \
$(CUDA_OBJ_FILES) $(CU_OBJ_FILES) $(APP_WC_CU_OBJ_FILES)
$(NVCC) $(LIBS) $(NVCCFLAGS) $(LDFLAGS) -o $@ $^
cmeans: $(APP_CMEANS_OBJ_FILES) $(OS_OBJ_FILES) $(PANDA_OBJ_FILES) \
$(CUDA_OBJ_FILES) $(CU_OBJ_FILES) $(APP_CMEANS_CU_OBJ_FILES)
$(NVCC) $(LIBS) $(NVCCFLAGS) $(LDFLAGS) -o $@ $^
obj/%.o: apps/word_count/%.cpp $(APP_WC_H_FILES)
$(MPICC) $(LIBS) $(CC_FLAGS) $(INCFLAGS) -c -o $@ $<
obj/%.o: apps/cmeans/%.cpp $(APP_CMEANS_H_FILES)
$(MPICC) $(LIBS) $(CC_FLAGS) $(INCFLAGS) -c -o $@ $<
obj/%.o: src/oscpp/%.cpp $(OS_H_FILES)
$(MPICC) $(LIBS) $(CC_FLAGS) $(INCFLAGS) -c -o $@ $<
obj/%.o: src/panda/%.cpp $(PANDA_H_FILES) $(H_FILES)
$(MPICC) $(LIBS) $(CC_FLAGS) $(INCFLAGS) -c -o $@ $<
obj/%.o: src/cudacpp/%.cpp $(CUDA_H_FILES)
$(MPICC) $(LIBS) $(CC_FLAGS) $(INCFLAGS) -c -o $@ $<
obj/%.o: ./%.cpp $(OS_H_FILES) $(PANDA_H_FILES) $(CUDA_H_FILES) $(H_FILES)
$(MPICC) $(LIBS) $(CC_FLAGS) $(INCFLAGS) -c -o $@ $<
cuobj/%.o: apps/word_count/%.cu $(APP_WC_H_FILES)
nvcc $(NVCCFLAGS) -c -o $@ $<
cuobj/%.o: apps/cmeans/%.cu $(APP_WC_H_FILES)
nvcc $(NVCCFLAGS) -c -o $@ $<
cuobj/%.o: src/%.cu $(CUDA_H_FILES) $(H_FILES)
nvcc $(NVCCFLAGS) -c -o $@ $<
clean:
rm -rf obj/*.o cuobj/*.o panda_word_count