source: src/benchmark/Makefile.am@ 642bc83

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors deferred_resn demangler enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr no_list persistent-indexer pthread-emulation qualifiedEnum
Last change on this file since 642bc83 was d3db83c, checked in by Thierry Delisle <tdelisle@…>, 7 years ago

Fix benchmark build

  • Property mode set to 100644
File size: 11.9 KB
Line 
1######################## -*- Mode: Makefile-Automake -*- ######################
2##
3## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
4##
5## The contents of this file are covered under the licence agreement in the
6## file "LICENCE" distributed with Cforall.
7##
8## Makefile.am --
9##
10## Author : Peter A. Buhr
11## Created On : Sun May 31 09:08:15 2015
12## Last Modified By : Peter A. Buhr
13## Last Modified On : Mon Jan 25 22:31:42 2016
14## Update Count : 25
15###############################################################################
16
17# applies to both programs
18CFLAGS =
19AM_CFLAGS = \
20 -XCFA \
21 -t \
22 -B${abs_top_builddir}/src/driver \
23 -g \
24 -O2 \
25 -Wall \
26 -Wno-unused-function \
27 -quiet \
28 -I$(srcdir) \
29 -L${abs_top_builddir}/src/libcfa \
30 -I${abs_top_srcdir}/src/libcfa \
31 -I${abs_top_srcdir}/src/libcfa/containers \
32 -I${abs_top_srcdir}/src/libcfa/concurrency \
33 -I${abs_top_srcdir}/src/libcfa/stdhdr
34
35CC = ${top_builddir}/src/driver/cfa
36TOOLSDIR = ${abs_top_srcdir}/tools/
37REPEAT = ${TOOLSDIR}repeat
38STATS = ${TOOLSDIR}stat.py
39repeats = 30
40skipcompile = no
41TIME_FORMAT = "%E"
42PRINT_FORMAT = %20s: #Comments needed for spacing
43
44.NOTPARALLEL:
45
46noinst_PROGRAMS =
47
48all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT)
49
50%.run : %$(EXEEXT) ${REPEAT}
51 @rm -f .result.log
52 @echo "------------------------------------------------------"
53 @echo $<
54 @${REPEAT} ${repeats} ./a.out | tee -a .result.log
55 @${STATS} .result.log
56 @echo "------------------------------------------------------"
57 @rm -f a.out .result.log
58
59%.runquiet :
60 @+make $(basename $@) CFLAGS="-w"
61 @taskset -c 1 ./a.out
62 @rm -f a.out
63
64%.make :
65 @printf "${PRINT_FORMAT}" $(basename $(subst compile-,,$@))
66 @+/usr/bin/time -f ${TIME_FORMAT} make $(basename $@) 2>&1
67
68${REPEAT} :
69 @+make -C ${TOOLSDIR} repeat
70
71## =========================================================================================================
72
73jenkins$(EXEEXT):
74 @echo "{"
75 @echo -e '\t"githash": "'${githash}'",'
76 @echo -e '\t"arch": "' ${arch} '",'
77@DOifskipcompile@
78 @echo -e '\t"compile": {'
79 @+make compile TIME_FORMAT='%e,' PRINT_FORMAT='\t\t\"%s\" :'
80 @echo -e '\t\t"dummy" : {}'
81 @echo -e '\t},'
82@DOendif@
83 @echo -e '\t"ctxswitch": {'
84 @echo -en '\t\t"coroutine":'
85 @+make ctxswitch-cfa_coroutine.runquiet
86 @echo -en '\t\t,"thread":'
87 @+make ctxswitch-cfa_thread.runquiet
88 @echo -e '\t},'
89 @echo -e '\t"mutex": ['
90 @echo -en '\t\t'
91 @+make mutex-cfa1.runquiet
92 @echo -en '\t\t,'
93 @+make mutex-cfa2.runquiet
94 @echo -e '\t],'
95 @echo -e '\t"scheduling": ['
96 @echo -en '\t\t'
97 @+make signal-cfa1.runquiet
98 @echo -en '\t\t,'
99 @+make signal-cfa2.runquiet
100 @echo -en '\t\t,'
101 @+make waitfor-cfa1.runquiet
102 @echo -en '\t\t,'
103 @+make waitfor-cfa2.runquiet
104 @echo -e '\n\t],'
105 @echo -e '\t"epoch": ' $(shell date +%s)
106 @echo "}"
107
108## =========================================================================================================
109loop$(EXEEXT):
110 @@BACKEND_CC@ loop.c -DBENCH_N=5000000000 -I$(srcdir) -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
111
112function$(EXEEXT):
113 @@BACKEND_CC@ function.c -DBENCH_N=5000000000 -I$(srcdir) -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
114
115fetch_add$(EXEEXT):
116 @@BACKEND_CC@ fetch_add.c -DBENCH_N=500000000 -I$(srcdir) -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
117
118## =========================================================================================================
119ctxswitch$(EXEEXT): \
120 loop.run \
121 function.run \
122 fetch_add.run \
123 ctxswitch-pthread.run \
124 ctxswitch-cfa_coroutine.run \
125 ctxswitch-cfa_thread.run \
126 ctxswitch-cfa_thread2.run \
127 ctxswitch-upp_coroutine.run \
128 ctxswitch-upp_thread.run \
129 -ctxswitch-kos_fibre.run \
130 -ctxswitch-kos_fibre2.run \
131 ctxswitch-goroutine.run \
132 ctxswitch-java_thread.run
133
134ctxswitch-pthread$(EXEEXT):
135 @@BACKEND_CC@ $(srcdir)/ctxswitch/pthreads.c -DBENCH_N=50000000 -I$(srcdir) -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
136
137ctxswitch-cfa_coroutine$(EXEEXT):
138 @${CC} $(srcdir)/ctxswitch/cfa_cor.c -DBENCH_N=50000000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
139
140ctxswitch-cfa_thread$(EXEEXT):
141 @${CC} $(srcdir)/ctxswitch/cfa_thrd.c -DBENCH_N=50000000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
142
143ctxswitch-cfa_thread2$(EXEEXT):
144 @${CC} $(srcdir)/ctxswitch/cfa_thrd2.c -DBENCH_N=50000000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
145
146ctxswitch-upp_coroutine$(EXEEXT):
147 @u++ $(srcdir)/ctxswitch/upp_cor.cc -DBENCH_N=50000000 -I$(srcdir) -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}
148
149ctxswitch-upp_thread$(EXEEXT):
150 @u++ $(srcdir)/ctxswitch/upp_thrd.cc -DBENCH_N=50000000 -I$(srcdir) -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}
151
152ctxswitch-kos_fibre$(EXEEXT):
153 @${CXX} $(srcdir)/ctxswitch/kos_fibre.cpp -DBENCH_N=50000000 -I$(srcdir) -I/home/tdelisle/software/KOS/src/ -g -O2 -lfibre -lpthread -lrt
154
155ctxswitch-kos_fibre2$(EXEEXT):
156 @${CXX} $(srcdir)/ctxswitch/kos_fibre2.cpp -DBENCH_N=50000000 -I$(srcdir) -I/home/tdelisle/software/KOS/src/ -g -O2 -lfibre -lpthread -lrt
157
158ctxswitch-goroutine$(EXEEXT):
159 @go build -o a.out $(srcdir)/ctxswitch/goroutine.go
160
161ctxswitch-java_thread$(EXEEXT):
162 @javac $(srcdir)/ctxswitch/JavaThread.java
163 @echo "#!/bin/sh" > a.out
164 @echo "cd ctxswitch && java JavaThread" >> a.out
165 @chmod a+x a.out
166
167## =========================================================================================================
168mutex$(EXEEXT) :\
169 loop.run \
170 function.run \
171 fetch_add.run \
172 mutex-pthread_lock.run \
173 mutex-upp.run \
174 mutex-cfa1.run \
175 mutex-cfa2.run \
176 mutex-cfa4.run \
177 mutex-java_thread.run
178
179mutex-pthread_lock$(EXEEXT):
180 @@BACKEND_CC@ $(srcdir)/mutex/pthreads.c -DBENCH_N=50000000 -I$(srcdir) -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
181
182mutex-upp$(EXEEXT):
183 @u++ $(srcdir)/mutex/upp.cc -DBENCH_N=50000000 -I$(srcdir) -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}
184
185mutex-cfa1$(EXEEXT):
186 @${CC} $(srcdir)/mutex/cfa1.c -DBENCH_N=5000000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
187
188mutex-cfa2$(EXEEXT):
189 @${CC} $(srcdir)/mutex/cfa2.c -DBENCH_N=5000000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
190
191mutex-cfa4$(EXEEXT):
192 @${CC} $(srcdir)/mutex/cfa4.c -DBENCH_N=5000000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
193
194mutex-java_thread$(EXEEXT):
195 @javac $(srcdir)/mutex/JavaThread.java
196 @echo "#!/bin/sh" > a.out
197 @echo "cd mutex && java JavaThread" >> a.out
198 @chmod a+x a.out
199
200## =========================================================================================================
201signal$(EXEEXT) :\
202 signal-pthread_cond.run \
203 signal-upp.run \
204 signal-cfa1.run \
205 signal-cfa2.run \
206 signal-cfa4.run \
207 signal-java_thread.run
208
209signal-pthread_cond$(EXEEXT):
210 @@BACKEND_CC@ $(srcdir)/schedint/pthreads.c -DBENCH_N=500000 -I$(srcdir) -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
211
212signal-upp$(EXEEXT):
213 @u++ $(srcdir)/schedint/upp.cc -DBENCH_N=5000000 -I$(srcdir) -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}
214
215signal-cfa1$(EXEEXT):
216 @${CC} $(srcdir)/schedint/cfa1.c -DBENCH_N=500000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
217
218signal-cfa2$(EXEEXT):
219 @${CC} $(srcdir)/schedint/cfa2.c -DBENCH_N=500000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
220
221signal-cfa4$(EXEEXT):
222 @${CC} $(srcdir)/schedint/cfa4.c -DBENCH_N=500000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
223
224signal-java_thread$(EXEEXT):
225 @javac $(srcdir)/schedint/JavaThread.java
226 @echo "#!/bin/sh" > a.out
227 @echo "cd schedint && java JavaThread" >> a.out
228 @chmod a+x a.out
229
230
231## =========================================================================================================
232waitfor$(EXEEXT) :\
233 waitfor-upp.run \
234 waitfor-cfa1.run \
235 waitfor-cfa2.run \
236 waitfor-cfa4.run
237
238waitfor-upp$(EXEEXT):
239 @u++ $(srcdir)/schedext/upp.cc -DBENCH_N=5000000 -I$(srcdir) -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}
240
241waitfor-cfa1$(EXEEXT):
242 @${CC} $(srcdir)/schedext/cfa1.c -DBENCH_N=500000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
243
244waitfor-cfa2$(EXEEXT):
245 @${CC} $(srcdir)/schedext/cfa2.c -DBENCH_N=500000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
246
247waitfor-cfa4$(EXEEXT):
248 @${CC} $(srcdir)/schedext/cfa4.c -DBENCH_N=500000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
249
250## =========================================================================================================
251creation$(EXEEXT) :\
252 creation-pthread.run \
253 creation-cfa_coroutine.run \
254 creation-cfa_coroutine_eager.run \
255 creation-cfa_thread.run \
256 creation-upp_coroutine.run \
257 creation-upp_thread.run \
258 creation-goroutine.run \
259 creation-java_thread.run
260
261creation-cfa_coroutine$(EXEEXT):
262 @${CC} $(srcdir)/creation/cfa_cor.c -DBENCH_N=10000000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
263
264creation-cfa_coroutine_eager$(EXEEXT):
265 @${CC} $(srcdir)/creation/cfa_cor.c -DBENCH_N=10000000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -DEAGER
266
267creation-cfa_thread$(EXEEXT):
268 @${CC} $(srcdir)/creation/cfa_thrd.c -DBENCH_N=10000000 -I$(srcdir) -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
269
270creation-upp_coroutine$(EXEEXT):
271 @u++ $(srcdir)/creation/upp_cor.cc -DBENCH_N=50000000 -I$(srcdir) -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}
272
273creation-upp_thread$(EXEEXT):
274 @u++ $(srcdir)/creation/upp_thrd.cc -DBENCH_N=50000000 -I$(srcdir) -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}
275
276creation-pthread$(EXEEXT):
277 @@BACKEND_CC@ $(srcdir)/creation/pthreads.c -DBENCH_N=250000 -I$(srcdir) -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
278
279creation-goroutine$(EXEEXT):
280 @go build -o a.out $(srcdir)/creation/goroutine.go
281
282creation-java_thread$(EXEEXT):
283 @javac $(srcdir)/creation/JavaThread.java
284 @echo "#!/bin/sh" > a.out
285 @echo "cd creation && java JavaThread" >> a.out
286 @chmod a+x a.out
287
288## =========================================================================================================
289
290compile$(EXEEXT) :\
291 compile-array.make \
292 compile-attributes.make \
293 compile-empty.make \
294 compile-expression.make \
295 compile-io.make \
296 compile-monitor.make \
297 compile-operators.make \
298 compile-typeof.make
299
300
301testdir = $(top_srcdir)/src/tests
302
303compile-array$(EXEEXT):
304 @${CC} -quiet -fsyntax-only -w $(testdir)/array.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
305
306compile-attributes$(EXEEXT):
307 @${CC} -quiet -fsyntax-only -w $(testdir)/attributes.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
308
309compile-empty$(EXEEXT):
310 @${CC} -quiet -fsyntax-only -w $(srcdir)/compile/empty.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
311
312compile-expression$(EXEEXT):
313 @${CC} -quiet -fsyntax-only -w $(testdir)/expression.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
314
315compile-io$(EXEEXT):
316 @${CC} -quiet -fsyntax-only -w $(testdir)/io1.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
317
318compile-monitor$(EXEEXT):
319 @${CC} -quiet -fsyntax-only -w $(testdir)/concurrent/monitor.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
320
321compile-operators$(EXEEXT):
322 @${CC} -quiet -fsyntax-only -w $(testdir)/operators.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
323
324compile-thread$(EXEEXT):
325 @${CC} -quiet -fsyntax-only -w $(testdir)/concurrent/thread.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
326
327compile-typeof$(EXEEXT):
328 @${CC} -quiet -fsyntax-only -w $(testdir)/typeof.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
329
Note: See TracBrowser for help on using the repository browser.