-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmakefile
More file actions
100 lines (77 loc) · 2.8 KB
/
makefile
File metadata and controls
100 lines (77 loc) · 2.8 KB
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
ifeq ($(GSKS_USE_INTEL),true)
include $(GSKS_DIR)/make.intel.inc
else
include $(GSKS_DIR)/make.gnu.inc
endif
FRAME_CC_SRC= \
frame/dgsks.c \
frame/dgsks_ref.c \
frame/ks_util.c \
FRAME_CPP_SRC= \
frame/omp_dgsks_list.cpp \
KERNEL_SRC= \
micro_kernel/$(GSKS_ARCH)/ks_gaussian_int_d8x4.c \
micro_kernel/$(GSKS_ARCH)/ks_gaussian_svml_d8x4.c \
\
micro_kernel/$(GSKS_ARCH)/ks_variable_bandwidth_gaussian_int_d8x4.c \
\
micro_kernel/$(GSKS_ARCH)/ks_polynomial_int_d8x4.c \
\
micro_kernel/$(GSKS_ARCH)/ks_laplace3d_int_d8x4.c \
\
micro_kernel/$(GSKS_ARCH)/ks_tanh_int_d8x4.c \
\
micro_kernel/$(GSKS_ARCH)/ks_quartic_int_d8x4.c \
\
micro_kernel/$(GSKS_ARCH)/ks_epanechnikov_int_d8x4.c \
\
micro_kernel/$(GSKS_ARCH)/ks_multiquadratic_int_d8x4.c \
\
micro_kernel/$(GSKS_ARCH)/ks_rank_k_int_d8x4.c \
micro_kernel/$(GSKS_ARCH)/ks_rank_k_asm_d8x4.c \
FRAME_MIC_CC_SRC= \
frame/dgsks_mic.c \
frame/dgsks_ref_mic.c \
FRAME_MIC_CPP_SRC=\
frame/omp_dgsks_list_mic.cpp \
KERNEL_MIC_SRC= \
micro_kernel/mic/ks_gaussian_int_d16x8.c \
micro_kernel/mic/ks_gaussian_int_d16x14.c \
micro_kernel/mic/ks_gaussian_asm_d24x8.c \
micro_kernel/mic/ks_gaussian_asm_d8x30.c \
\
micro_kernel/mic/ks_rank_k_int_d16x14.c \
micro_kernel/mic/ks_rank_k_asm_d30x8.c \
micro_kernel/mic/ks_rank_k_asm_d8x30.c \
\
micro_kernel/mic/ks_gaussian_int_d16x14_var2.c \
GSKS_OBJ=$(FRAME_CC_SRC:.c=.o) $(FRAME_CPP_SRC:.cpp=.o) $(KERNEL_SRC:.c=.o)
GSKS_MIC_OBJ=$(FRAME_MIC_CC_SRC:.c=.mic) $(FRAME_MIC_CPP_SRC:.cpp=.mic) $(KERNEL_MIC_SRC:.c=.mic)
all: $(LIBGSKS) $(SHAREDLIBGSKS) TESTGSKS
TESTGSKS: $(LIBGSKS)
cd $(GSKS_DIR)/test && $(MAKE) && cd $(GSKS_DIR)
$(LIBGSKSMIC): $(GSKS_MIC_OBJ)
$(ARCH) $(ARCHFLAGS) $@ $(GSKS_MIC_OBJ)
$(RANLIB) $@
$(LIBGSKS): $(GSKS_OBJ)
$(ARCH) $(ARCHFLAGS) $@ $(GSKS_OBJ)
$(RANLIB) $@
$(SHAREDLIBGSKS): $(GSKS_OBJ)
$(CXX) $(CFLAGS) -shared -o $@ $(GSKS_OBJ) $(LDLIBS)
# ---------------------------------------------------------------------------
# Object files compiling rules
# ---------------------------------------------------------------------------
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@ $(LDFLAGS)
%.o: %.cpp
$(CXX) $(CFLAGS) -c $< -o $@ $(LDFLAGS)
%.o: %.cu
$(NVCC) $(NVCCFLAGS) -c $< -o $@ $(LDFLAGS)
%.mic: %.c
$(CC) $(CFLAGSMIC) -c $< -o $@ $(LDFLAGS)
%.mic: %.cpp
$(CXX) $(CFLAGSMIC) -c $< -o $@ $(LDFLAGS)
# ---------------------------------------------------------------------------
clean:
rm $(GSKS_OBJ) $(LIBGSKS)
cd $(GSKS_DIR)/test && $(MAKE) clean && cd $(GSKS_DIR)