source: src/benchmark/Makefile.am@ d16f9fd

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 d16f9fd was 944a90f, checked in by Thierry Delisle <tdelisle@…>, 7 years ago

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

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