source: src/benchmark/Makefile.am @ d3db83c

aaron-thesisarm-ehcleanup-dtorsdeferred_resndemanglerjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprno_listpersistent-indexer
Last change on this file since d3db83c was d3db83c, checked in by Thierry Delisle <tdelisle@…>, 3 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.