-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
146 lines (131 loc) · 7.84 KB
/
Copy pathMakefile
File metadata and controls
146 lines (131 loc) · 7.84 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# Require: ocaml -version == 4.10.0
OCAMLBUILD := ocamlbuild
INSTALL_DIR := ../../gfft/operator/codelets
CURRENT_DIR := .
PRELUDE = cat PRELUDE; echo ""
ADD_DATE = sed -e s/@DATE@/"`date`"/
FORMAT = clang-format -style=file
MKDIR = mkdir -p
GEN_N = codelet_n.native
GEN_T = codelet_t.native
GEN_G = codelet_g.native
GEN_NV = codelet_n_simd.native
GEN_TV = codelet_t_simd.native
GEN_GV = codelet_g_simd.native
GEN_PLATFORM_FLAGS = -compact -variables 4 -pipeline-latency 4
GEN_PLATFORM_SIMD_FLAGS = -simd -compact -variables 4 -pipeline-latency 8
CODELET_N1 = 2 4 8 16 32 64
CODELET_N1_FLAGS = $(GEN_PLATFORM_FLAGS)
CODELET_T1 = 2 4 8 16 32 64
CODELET_T1_FLAGS = $(GEN_PLATFORM_FLAGS)
CODELET_T2 = 2 4 8 16 32 64
CODELET_T2_FLAGS = $(GEN_PLATFORM_FLAGS) -twiddle-log3 -precompute-twiddles
CODELET_G1 = 2 4 8 16 32 64
CODELET_G1_FLAGS = $(GEN_PLATFORM_FLAGS)
CODELET_G2 = 2 4 8 16 32 64
CODELET_G2_FLAGS = $(GEN_PLATFORM_FLAGS) -twiddle-log3 -precompute-twiddles
CODELET_N1V = 2 4 8 16 32 64
CODELET_N1V_FLAGS = $(GEN_PLATFORM_SIMD_FLAGS)
CODELET_N2V = 2 4 8 16 32 64
CODELET_N2V_FLAGS = $(GEN_PLATFORM_SIMD_FLAGS) -with-ostride 2 -store-multiple 2
CODELET_N3V = 2 4 8 16 32 64
CODELET_N3V_FLAGS = $(GEN_PLATFORM_SIMD_FLAGS) -with-ostride 2 -store-multiple 2
CODELET_T1V = 2 4 8 16 32 64
CODELET_T1V_FLAGS = $(GEN_PLATFORM_SIMD_FLAGS)
CODELET_T1UV = 2 4 8
CODELET_T1UV_FLAGS = $(GEN_PLATFORM_SIMD_FLAGS)
CODELET_T2V = 2 4 8 16 32 64
CODELET_T2V_FLAGS = $(GEN_PLATFORM_SIMD_FLAGS)
CODELET_T3V = 2 4 8 16 32 64
CODELET_T3V_FLAGS = $(GEN_PLATFORM_SIMD_FLAGS) -twiddle-log3 -precompute-twiddles -no-generate-bytw
CODELET_G1V = 2 4 8 16 32 64
CODELET_G1V_FLAGS = $(GEN_PLATFORM_SIMD_FLAGS)
CODELET_G2V = 2 4 8 16 32 64
CODELET_G2V_FLAGS = $(GEN_PLATFORM_SIMD_FLAGS)
CODELET_G3V = 2 4 8 16 32 64
CODELET_G3V_FLAGS = $(GEN_PLATFORM_SIMD_FLAGS) -twiddle-log3 -precompute-twiddles -no-generate-bytw
CODELETS = $(addsuffix .h,\
$(addprefix $(INSTALL_DIR)/reference/n1/n1_, $(CODELET_N1)) \
$(addprefix $(INSTALL_DIR)/reference/t1/t1_, $(CODELET_T1)) \
$(addprefix $(INSTALL_DIR)/reference/t2/t2_, $(CODELET_T2)) \
$(addprefix $(INSTALL_DIR)/reference/g1/g1_, $(CODELET_G1)) \
$(addprefix $(INSTALL_DIR)/reference/g2/g2_, $(CODELET_G2)) \
$(addprefix $(INSTALL_DIR)/simd/n1/n1fv_, $(CODELET_N1V)) \
$(addprefix $(INSTALL_DIR)/simd/n1/n1bv_, $(CODELET_N1V)) \
$(addprefix $(INSTALL_DIR)/simd/n2/n2fv_, $(CODELET_N2V)) \
$(addprefix $(INSTALL_DIR)/simd/n2/n2bv_, $(CODELET_N2V)) \
$(addprefix $(INSTALL_DIR)/simd/n3/n3fv_, $(CODELET_N3V)) \
$(addprefix $(INSTALL_DIR)/simd/n3/n3bv_, $(CODELET_N3V)) \
$(addprefix $(INSTALL_DIR)/simd/t1/t1fv_, $(CODELET_T1V)) \
$(addprefix $(INSTALL_DIR)/simd/t1/t1bv_, $(CODELET_T1V)) \
$(addprefix $(INSTALL_DIR)/simd/t1/t1fuv_, $(CODELET_T1UV)) \
$(addprefix $(INSTALL_DIR)/simd/t1/t1buv_, $(CODELET_T1UV)) \
$(addprefix $(INSTALL_DIR)/simd/t2/t2fv_, $(CODELET_T2V)) \
$(addprefix $(INSTALL_DIR)/simd/t2/t2bv_, $(CODELET_T2V)) \
$(addprefix $(INSTALL_DIR)/simd/t3/t3fv_, $(CODELET_T3V)) \
$(addprefix $(INSTALL_DIR)/simd/t3/t3bv_, $(CODELET_T3V)) \
$(addprefix $(INSTALL_DIR)/simd/g1/g1fv_, $(CODELET_G1V)) \
$(addprefix $(INSTALL_DIR)/simd/g1/g1bv_, $(CODELET_G1V)) \
$(addprefix $(INSTALL_DIR)/simd/g2/g2fv_, $(CODELET_G2V)) \
$(addprefix $(INSTALL_DIR)/simd/g2/g2bv_, $(CODELET_G2V)) \
$(addprefix $(INSTALL_DIR)/simd/g3/g3fv_, $(CODELET_G3V)) \
$(addprefix $(INSTALL_DIR)/simd/g3/g3bv_, $(CODELET_G3V)) \
)
GENFFT_NATIVE = $(GEN_N) $(GEN_NV) \
$(GEN_T) $(GEN_TV) \
$(GEN_G) $(GEN_GV)
$(GENFFT_NATIVE):
cd $(CURRENT_DIR); $(OCAMLBUILD) -classic-display -libs unix,nums -I src $(GENFFT_NATIVE)
clean:
$(OCAMLBUILD) -classic-display -clean
install: $(GENFFT_NATIVE) $(CODELETS)
$(INSTALL_DIR)/reference/n1/n1_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_N) $(CODELET_N1_FLAGS) -n $* -name n1_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/reference/t1/t1_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_T) $(CODELET_T1_FLAGS) -n $* -name t1_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/reference/t2/t2_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_T) $(CODELET_T2_FLAGS) -n $* -name t2_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/reference/g1/g1_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_G) $(CODELET_G1_FLAGS) -n $* -name g1_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/reference/g2/g2_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_G) $(CODELET_G2_FLAGS) -n $* -name g2_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/n1/n1fv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_NV) $(CODELET_N1V_FLAGS) -n $* -name n1fv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/n1/n1bv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_NV) $(CODELET_N1V_FLAGS) -sign 1 -n $* -name n1bv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/n2/n2fv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_NV) $(CODELET_N2V_FLAGS) -n $* -name n2fv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/n2/n2bv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_NV) $(CODELET_N2V_FLAGS) -sign 1 -n $* -name n2bv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/n3/n3fv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_NV) $(CODELET_N3V_FLAGS) -n $* -name n3fv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/n3/n3bv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_NV) $(CODELET_N3V_FLAGS) -sign 1 -n $* -name n3bv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/t1/t1fv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_TV) $(CODELET_T1V_FLAGS) -n $* -name t1fv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/t1/t1bv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_TV) $(CODELET_T1V_FLAGS) -sign 1 -n $* -name t1bv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/t1/t1fuv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_TV) $(CODELET_T1UV_FLAGS) -n $* -name t1fuv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/t1/t1buv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_TV) $(CODELET_T1UV_FLAGS) -sign 1 -n $* -name t1buv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/t2/t2fv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_TV) $(CODELET_T2V_FLAGS) -n $* -name t2fv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/t2/t2bv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_TV) $(CODELET_T2V_FLAGS) -sign 1 -n $* -name t2bv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/t3/t3fv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_TV) $(CODELET_T3V_FLAGS) -n $* -name t3fv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/t3/t3bv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_TV) $(CODELET_T3V_FLAGS) -sign 1 -n $* -name t3bv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/g1/g1fv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_GV) $(CODELET_G1V_FLAGS) -n $* -name g1fv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/g1/g1bv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_GV) $(CODELET_G1V_FLAGS) -sign 1 -n $* -name g1bv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/g2/g2fv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_GV) $(CODELET_G2V_FLAGS) -n $* -name g2fv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/g2/g2bv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_GV) $(CODELET_G2V_FLAGS) -sign 1 -n $* -name g2bv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/g3/g3fv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_GV) $(CODELET_G3V_FLAGS) -n $* -name g3fv_$*) | $(ADD_DATE) | $(FORMAT) > $@
$(INSTALL_DIR)/simd/g3/g3bv_%.h:
$(MKDIR) $(@D) && ($(PRELUDE); $(CURRENT_DIR)/$(GEN_GV) $(CODELET_G3V_FLAGS) -sign 1 -n $* -name g3bv_$*) | $(ADD_DATE) | $(FORMAT) > $@