source: src/benchmark/Makefile.am @ 565a3d6f

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since 565a3d6f was 05f4b85, checked in by Thierry Delisle <tdelisle@…>, 7 years ago

Jenkins benchmark can now skipcompilation on demand and pin programs to core 1

  • Property mode set to 100644
File size: 10.3 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 = -g -Wall -Wno-unused-function -O2
20CC = @CFA_BINDIR@/@CFA_NAME@
21TOOLSDIR = ${abs_top_srcdir}/tools/
22REPEAT   = ${TOOLSDIR}repeat
23STATS    = ${TOOLSDIR}stat.py
24repeats  = 30
25skipcompile = no
26TIME_FORMAT = "%E"
27PRINT_FORMAT = %20s: #Comments needed for spacing
28
29.NOTPARALLEL:
30
31noinst_PROGRAMS =
32
33all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT)
34
35%.run : %$(EXEEXT) ${REPEAT}
36        @rm -f .result.log
37        @echo "------------------------------------------------------"
38        @echo $<
39        @${REPEAT} ${repeats} ./a.out | tee -a .result.log
40        @${STATS} .result.log
41        @echo "------------------------------------------------------"
42        @rm -f a.out .result.log
43
44%.runquiet :
45        @+make $(basename $@)
46        @taskset -c 1 ./a.out
47        @rm -f a.out
48
49%.make :
50        @printf "${PRINT_FORMAT}" $(basename $(subst compile-,,$@))
51        @+/usr/bin/time -f ${TIME_FORMAT} make $(basename $@) 2>&1
52
53${REPEAT} :
54        @+make -C ${TOOLSDIR} repeat
55
56## =========================================================================================================
57
58jenkins$(EXEEXT):
59        @echo "{"
60        @echo -e '\t"githash": "'${githash}'",'
61        @echo -e '\t"arch": "'   ${arch}   '",'
62@DOifskipcompile@
63        @echo -e '\t"compile": {'
64        @+make compile TIME_FORMAT='%e,' PRINT_FORMAT='\t\t\"%s\" :'
65        @echo -e '\t\t"dummy" : {}'
66        @echo -e '\t},'
67@DOendif@
68        @echo -e '\t"ctxswitch": {'
69        @echo -en '\t\t"coroutine":'
70        @+make ctxswitch-cfa_coroutine.runquiet
71        @echo -en '\t\t,"thread":'
72        @+make ctxswitch-cfa_thread.runquiet
73        @echo -e '\t},'
74        @echo -e '\t"mutex": ['
75        @echo -en '\t\t'
76        @+make mutex-cfa1.runquiet
77        @echo -en '\t\t,'
78        @+make mutex-cfa2.runquiet
79        @echo -e '\t],'
80        @echo -e '\t"scheduling": ['
81        @echo -en '\t\t'
82        @+make signal-cfa1.runquiet
83        @echo -en '\t\t,'
84        @+make signal-cfa2.runquiet
85        @echo -en '\t\t,'
86        @+make waitfor-cfa1.runquiet
87        @echo -en '\t\t,'
88        @+make waitfor-cfa2.runquiet
89        @echo -e '\n\t],'
90        @echo -e '\t"epoch": ' $(shell date +%s)
91        @echo "}"
92
93## =========================================================================================================
94ctxswitch$(EXEEXT): \
95        ctxswitch-pthread.run           \
96        ctxswitch-cfa_coroutine.run     \
97        ctxswitch-cfa_thread.run        \
98        ctxswitch-upp_coroutine.run     \
99        ctxswitch-upp_thread.run        \
100        ctxswitch-goroutine.run         \
101        ctxswitch-java_thread.run
102
103ctxswitch-cfa_coroutine$(EXEEXT):
104        @${CC}        ctxswitch/cfa_cor.c   -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
105
106ctxswitch-cfa_thread$(EXEEXT):
107        @${CC}        ctxswitch/cfa_thrd.c  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
108
109ctxswitch-upp_coroutine$(EXEEXT):
110        @u++          ctxswitch/upp_cor.cc  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
111
112ctxswitch-upp_thread$(EXEEXT):
113        @u++          ctxswitch/upp_thrd.cc -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
114
115ctxswitch-pthread$(EXEEXT):
116        @@BACKEND_CC@ ctxswitch/pthreads.c  -DBENCH_N=50000000  -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
117
118ctxswitch-goroutine$(EXEEXT):
119        @go build -o a.out ctxswitch/goroutine.go
120
121ctxswitch-java_thread$(EXEEXT):
122        @javac ctxswitch/JavaThread.java
123        @echo "#!/bin/sh" > a.out
124        @echo "cd ctxswitch && java JavaThread" >> a.out
125        @chmod a+x a.out
126
127## =========================================================================================================
128mutex$(EXEEXT) :\
129        mutex-function.run      \
130        mutex-fetch_add.run     \
131        mutex-pthread_lock.run  \
132        mutex-upp.run           \
133        mutex-cfa1.run          \
134        mutex-cfa2.run          \
135        mutex-cfa4.run          \
136        mutex-java_thread.run
137
138mutex-function$(EXEEXT):
139        @@BACKEND_CC@ mutex/function.c    -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
140
141mutex-fetch_add$(EXEEXT):
142        @@BACKEND_CC@ mutex/fetch_add.c   -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
143
144mutex-pthread_lock$(EXEEXT):
145        @@BACKEND_CC@ mutex/pthreads.c    -DBENCH_N=50000000    -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
146
147mutex-upp$(EXEEXT):
148        @u++          mutex/upp.cc        -DBENCH_N=50000000    -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
149
150mutex-cfa1$(EXEEXT):
151        @${CC}        mutex/cfa1.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
152
153mutex-cfa2$(EXEEXT):
154        @${CC}        mutex/cfa2.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
155
156mutex-cfa4$(EXEEXT):
157        @${CC}        mutex/cfa4.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
158
159mutex-java_thread$(EXEEXT):
160        @javac mutex/JavaThread.java
161        @echo "#!/bin/sh" > a.out
162        @echo "cd mutex && java JavaThread" >> a.out
163        @chmod a+x a.out
164
165## =========================================================================================================
166signal$(EXEEXT) :\
167        signal-pthread_cond.run \
168        signal-upp.run          \
169        signal-cfa1.run         \
170        signal-cfa2.run         \
171        signal-cfa4.run         \
172        signal-java_thread.run
173
174signal-pthread_cond$(EXEEXT):
175        @@BACKEND_CC@ schedint/pthreads.c -DBENCH_N=500000      -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
176
177signal-upp$(EXEEXT):
178        @u++          schedint/upp.cc     -DBENCH_N=5000000     -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
179
180signal-cfa1$(EXEEXT):
181        @${CC}        schedint/cfa1.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
182
183signal-cfa2$(EXEEXT):
184        @${CC}        schedint/cfa2.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
185
186signal-cfa4$(EXEEXT):
187        @${CC}        schedint/cfa4.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
188
189signal-java_thread$(EXEEXT):
190        @javac schedint/JavaThread.java
191        @echo "#!/bin/sh" > a.out
192        @echo "cd schedint && java JavaThread" >> a.out
193        @chmod a+x a.out
194
195
196## =========================================================================================================
197waitfor$(EXEEXT) :\
198        waitfor-upp.run         \
199        waitfor-cfa1.run                \
200        waitfor-cfa2.run                \
201        waitfor-cfa4.run
202
203waitfor-upp$(EXEEXT):
204        @u++          schedext/upp.cc     -DBENCH_N=5000000     -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
205
206waitfor-cfa1$(EXEEXT):
207        @${CC}        schedext/cfa1.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
208
209waitfor-cfa2$(EXEEXT):
210        @${CC}        schedext/cfa2.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
211
212waitfor-cfa4$(EXEEXT):
213        @${CC}        schedext/cfa4.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
214
215## =========================================================================================================
216creation$(EXEEXT) :\
217        creation-pthread.run                    \
218        creation-cfa_coroutine.run              \
219        creation-cfa_coroutine_eager.run        \
220        creation-cfa_thread.run                 \
221        creation-upp_coroutine.run              \
222        creation-upp_thread.run                 \
223        creation-goroutine.run                  \
224        creation-java_thread.run
225
226creation-cfa_coroutine$(EXEEXT):
227        @${CC}        creation/cfa_cor.c   -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
228
229creation-cfa_coroutine_eager$(EXEEXT):
230        @${CC}        creation/cfa_cor.c   -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -DEAGER
231
232creation-cfa_thread$(EXEEXT):
233        @${CC}        creation/cfa_thrd.c  -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
234
235creation-upp_coroutine$(EXEEXT):
236        @u++          creation/upp_cor.cc  -DBENCH_N=50000000   -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
237
238creation-upp_thread$(EXEEXT):
239        @u++          creation/upp_thrd.cc -DBENCH_N=50000000   -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
240
241creation-pthread$(EXEEXT):
242        @@BACKEND_CC@ creation/pthreads.c  -DBENCH_N=250000     -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
243
244creation-goroutine$(EXEEXT):
245        @go build -o a.out creation/goroutine.go
246
247creation-java_thread$(EXEEXT):
248        @javac creation/JavaThread.java
249        @echo "#!/bin/sh" > a.out
250        @echo "cd creation && java JavaThread" >> a.out
251        @chmod a+x a.out
252
253## =========================================================================================================
254
255compile$(EXEEXT) :\
256        compile-array.make      \
257        compile-attributes.make \
258        compile-empty.make      \
259        compile-expression.make \
260        compile-io.make         \
261        compile-monitor.make    \
262        compile-operators.make  \
263        compile-typeof.make
264
265
266compile-array$(EXEEXT):
267        @${CC} -nodebug -quiet -fsyntax-only -w ../tests/array.c                                @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
268
269compile-attributes$(EXEEXT):
270        @${CC} -nodebug -quiet -fsyntax-only -w ../tests/attributes.c                   @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
271
272compile-empty$(EXEEXT):
273        @${CC} -nodebug -quiet -fsyntax-only -w compile/empty.c                         @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
274
275compile-expression$(EXEEXT):
276        @${CC} -nodebug -quiet -fsyntax-only -w ../tests/expression.c                   @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
277
278compile-io$(EXEEXT):
279        @${CC} -nodebug -quiet -fsyntax-only -w ../tests/io.c                                   @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
280
281compile-monitor$(EXEEXT):
282        @${CC} -nodebug -quiet -fsyntax-only -w ../tests/concurrent/monitor.c           @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
283
284compile-operators$(EXEEXT):
285        @${CC} -nodebug -quiet -fsyntax-only -w ../tests/operators.c                    @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
286
287compile-thread$(EXEEXT):
288        @${CC} -nodebug -quiet -fsyntax-only -w ../tests/concurrent/thread.c            @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
289
290compile-typeof$(EXEEXT):
291        @${CC} -nodebug -quiet -fsyntax-only -w ../tests/typeof.c                               @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
292
Note: See TracBrowser for help on using the repository browser.