source: benchmark/Makefile.am @ 5e49e47

aaron-thesisarm-ehcleanup-dtorsjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprno_listpersistent-indexer
Last change on this file since 5e49e47 was 5e49e47, checked in by Thierry Delisle <tdelisle@…>, 3 years ago

Fix code rot in benchmark (not jenkins)

  • Property mode set to 100644
File size: 9.5 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 : Tue Nov  6 09:01:23 2018
14## Update Count     : 26
15###############################################################################
16
17AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
18
19# applies to both programs
20include $(top_srcdir)/src/cfa.make
21
22UPPCC = u++
23UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
24
25AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread
26AM_CFAFLAGS = -quiet -in-tree -nodebug
27AM_UPPFLAGS = -quiet -nodebug -multi
28
29TOOLSDIR = ${abs_top_builddir}/tools/
30REPEAT   = ${abs_top_builddir}/tools/repeat
31STATS    = ${abs_top_srcdir}/tools/stat.py
32repeats  = 30
33skipcompile = no
34TIME_FORMAT = "%E"
35PRINT_FORMAT = %20s: #Comments needed for spacing
36
37EXTRA_PROGRAMS = dummy # build but do not install
38
39dummy_SOURCES = dummyC.c dummyCXX.cpp
40
41dummyC.c:
42        @echo "int main() { return 0; }" > ${@}
43
44dummyCXX.cpp:
45        @echo "int main() { return 0; }" > ${@}
46
47.NOTPARALLEL:
48
49noinst_PROGRAMS =
50
51all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT)
52
53%.run : %$(EXEEXT) ${REPEAT}
54        @rm -f .result.log
55        @echo "------------------------------------------------------"
56        @echo $<
57        @${REPEAT} ${repeats} ./a.out | tee -a .result.log
58        @${STATS} .result.log
59        @echo "------------------------------------------------------"
60        @rm -f a.out .result.log
61
62%.runquiet :
63        @+make $(basename $@) CFLAGS="-w"
64        @taskset -c 1 ./a.out
65        @rm -f a.out
66
67%.make :
68        @printf "${PRINT_FORMAT}" $(basename $(subst compile-,,$@))
69        @+/usr/bin/time -f ${TIME_FORMAT} make $(basename $@) 2>&1
70
71${REPEAT} :
72        @+make -C ${abs_top_builddir}/tools repeat
73
74## =========================================================================================================
75
76jenkins$(EXEEXT):
77        @echo "{"
78        @echo -e '\t"githash": "'${githash}'",'
79        @echo -e '\t"arch": "'   ${arch}   '",'
80@DOifskipcompile@
81        @echo -e '\t"compile": {'
82        @+make compile TIME_FORMAT='%e,' PRINT_FORMAT='\t\t\"%s\" :'
83        @echo -e '\t\t"dummy" : {}'
84        @echo -e '\t},'
85@DOendif@
86        @echo -e '\t"ctxswitch": {'
87        @echo -en '\t\t"coroutine":'
88        @+make ctxswitch-cfa_coroutine.runquiet
89        @echo -en '\t\t,"thread":'
90        @+make ctxswitch-cfa_thread.runquiet
91        @echo -e '\t},'
92        @echo -e '\t"mutex": ['
93        @echo -en '\t\t'
94        @+make mutex-cfa1.runquiet
95        @echo -en '\t\t,'
96        @+make mutex-cfa2.runquiet
97        @echo -e '\t],'
98        @echo -e '\t"scheduling": ['
99        @echo -en '\t\t'
100        @+make signal-cfa1.runquiet
101        @echo -en '\t\t,'
102        @+make signal-cfa2.runquiet
103        @echo -en '\t\t,'
104        @+make waitfor-cfa1.runquiet
105        @echo -en '\t\t,'
106        @+make waitfor-cfa2.runquiet
107        @echo -e '\n\t],'
108        @echo -e '\t"epoch": ' $(shell date +%s)
109        @echo "}"
110
111## =========================================================================================================
112loop$(EXEEXT):
113        $(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c
114
115function$(EXEEXT):
116        $(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c
117
118fetch_add$(EXEEXT):
119        $(COMPILE) -DBENCH_N=500000000  $(srcdir)/fetch_add.c
120
121## =========================================================================================================
122CTXSWITCH_DEPEND  =                 \
123        loop.run                                \
124        function.run                    \
125        fetch_add.run                   \
126        ctxswitch-pthread.run           \
127        ctxswitch-cfa_coroutine.run     \
128        ctxswitch-cfa_thread.run        \
129        ctxswitch-cfa_thread2.run       \
130        ctxswitch-upp_coroutine.run     \
131        ctxswitch-upp_thread.run        \
132        ctxswitch-goroutine.run         \
133        ctxswitch-java_thread.run
134
135if WITH_LIBFIBRE
136CTXSWITCH_DEPEND  +=           \
137        ctxswitch-kos_fibre.run  \
138        ctxswitch-kos_fibre2.run
139
140
141ctxswitch-kos_fibre$(EXEEXT):
142        @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
143
144ctxswitch-kos_fibre2$(EXEEXT):
145        @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
146endif
147
148ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND)
149
150ctxswitch-pthread$(EXEEXT):
151        @$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
152
153ctxswitch-cfa_coroutine$(EXEEXT):
154        @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.cfa
155
156ctxswitch-cfa_thread$(EXEEXT):
157        @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.cfa
158
159ctxswitch-cfa_thread2$(EXEEXT):
160        @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.cfa
161
162ctxswitch-upp_coroutine$(EXEEXT):
163        @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
164
165ctxswitch-upp_thread$(EXEEXT):
166        @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
167
168ctxswitch-goroutine$(EXEEXT):
169        @go build -o a.out $(srcdir)/ctxswitch/goroutine.go
170
171ctxswitch-java_thread$(EXEEXT):
172        @javac -d . $(srcdir)/ctxswitch/JavaThread.java
173        @echo "#!/bin/sh" > a.out
174        @echo "java JavaThread" >> a.out
175        @chmod a+x a.out
176
177## =========================================================================================================
178mutex$(EXEEXT) :\
179        loop.run                        \
180        function.run            \
181        fetch_add.run           \
182        mutex-pthread_lock.run  \
183        mutex-upp.run           \
184        mutex-cfa1.run          \
185        mutex-cfa2.run          \
186        mutex-cfa4.run          \
187        mutex-java_thread.run
188
189mutex-pthread_lock$(EXEEXT):
190        @$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
191
192mutex-upp$(EXEEXT):
193        @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
194
195mutex-cfa1$(EXEEXT):
196        @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.cfa
197
198mutex-cfa2$(EXEEXT):
199        @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.cfa
200
201mutex-cfa4$(EXEEXT):
202        @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.cfa
203
204mutex-java_thread$(EXEEXT):
205        @javac -d . $(srcdir)/mutex/JavaThread.java
206        @echo "#!/bin/sh" > a.out
207        @echo "java JavaThread" >> a.out
208        @chmod a+x a.out
209
210## =========================================================================================================
211signal$(EXEEXT) :\
212        signal-pthread_cond.run \
213        signal-upp.run          \
214        signal-cfa1.run         \
215        signal-cfa2.run         \
216        signal-cfa4.run         \
217        signal-java_thread.run
218
219signal-pthread_cond$(EXEEXT):
220        @$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
221
222signal-upp$(EXEEXT):
223        @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
224
225signal-cfa1$(EXEEXT):
226        @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.cfa
227
228signal-cfa2$(EXEEXT):
229        @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.cfa
230
231signal-cfa4$(EXEEXT):
232        @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.cfa
233
234signal-java_thread$(EXEEXT):
235        @javac -d . $(srcdir)/schedint/JavaThread.java
236        @echo "#!/bin/sh" > a.out
237        @echo "java JavaThread" >> a.out
238        @chmod a+x a.out
239
240
241## =========================================================================================================
242waitfor$(EXEEXT) :\
243        waitfor-upp.run         \
244        waitfor-cfa1.run                \
245        waitfor-cfa2.run                \
246        waitfor-cfa4.run
247
248waitfor-upp$(EXEEXT):
249        @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
250
251waitfor-cfa1$(EXEEXT):
252        @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.cfa
253
254waitfor-cfa2$(EXEEXT):
255        @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.cfa
256
257waitfor-cfa4$(EXEEXT):
258        @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.cfa
259
260## =========================================================================================================
261creation$(EXEEXT) :\
262        creation-pthread.run                    \
263        creation-cfa_coroutine.run              \
264        creation-cfa_coroutine_eager.run        \
265        creation-cfa_thread.run                 \
266        creation-upp_coroutine.run              \
267        creation-upp_thread.run                 \
268        creation-goroutine.run                  \
269        creation-java_thread.run
270
271creation-cfa_coroutine$(EXEEXT):
272        @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa
273
274creation-cfa_coroutine_eager$(EXEEXT):
275        @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa -DEAGER
276
277creation-cfa_thread$(EXEEXT):
278        @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.cfa
279
280creation-upp_coroutine$(EXEEXT):
281        @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
282
283creation-upp_thread$(EXEEXT):
284        @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
285
286creation-pthread$(EXEEXT):
287        @$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
288
289creation-goroutine$(EXEEXT):
290        @go build -o a.out $(srcdir)/creation/goroutine.go
291
292creation-java_thread$(EXEEXT):
293        @javac -d . $(srcdir)/creation/JavaThread.java
294        @echo "#!/bin/sh" > a.out
295        @echo "java JavaThread" >> a.out
296        @chmod a+x a.out
297
298## =========================================================================================================
299
300compile$(EXEEXT) :\
301        compile-array.make      \
302        compile-attributes.make \
303        compile-empty.make      \
304        compile-expression.make \
305        compile-io.make         \
306        compile-monitor.make    \
307        compile-operators.make  \
308        compile-typeof.make
309
310
311testdir = $(top_srcdir)/tests
312
313compile-array$(EXEEXT):
314        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.cfa
315
316compile-attributes$(EXEEXT):
317        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa
318
319compile-empty$(EXEEXT):
320        @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.cfa
321
322compile-expression$(EXEEXT):
323        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.cfa
324
325compile-io$(EXEEXT):
326        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.cfa
327
328compile-monitor$(EXEEXT):
329        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.cfa
330
331compile-operators$(EXEEXT):
332        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.cfa
333
334compile-thread$(EXEEXT):
335        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.cfa
336
337compile-typeof$(EXEEXT):
338        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.cfa
339
Note: See TracBrowser for help on using the repository browser.