Changes in / [bd72f517:2410424]
- Location:
- doc/theses/mike_brooks_MMath/benchmarks/string
- Files:
-
- 1 deleted
- 5 edited
-
Makefile (modified) (5 diffs)
-
make-flamegraph.sh (modified) (2 diffs)
-
process-allocn-attrib.py (deleted)
-
prog-allocn.cfa (modified) (1 diff)
-
prog-passbyval.cfa (modified) (1 diff)
-
prog.cfa (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mike_brooks_MMath/benchmarks/string/Makefile
rbd72f517 r2410424 1 # Usage2 # $cfabuild/driver/cfa -nodebug -quiet -c -x c /dev/null && rm null.o || echo Need to fix \$cfabuild3 # make CFABUILD=$cfabuild -j8 # compile4 # make measurement CFA_APILEVELS=ll OPERATIONS='pta peq pbv' CORPORI='corpus-100-*-1.txt corpus-1-*-1.txt' # append-pbv5 # make measurement2 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=cfa CFA_SHARINGS=share CORPORI='corpus-1-*-1.txt' # allocate-speed-cfa6 # make measurement2 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=stl CFA_EXPANSIONS=-1.0 CORPORI='corpus-1-*-1.txt' # allocate-speed-stl7 # make measurement3 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=cfa CFA_SHARINGS=share CORPORI='corpus-1-*-1.txt' # allocate-space-cfa8 # make measurement3 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=stl CFA_EXPANSIONS=-1.0 CORPORI='corpus-1-*-1.txt' # allocate-space-stl9 # make measurement4 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=cfa CFA_EXPANSIONS=0.2 CFA_SHARINGS=share CORPORI='corpus-1-*-1.txt' # allocate-attrib-cfa10 # make measurement4 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=stl CFA_EXPANSIONS=-1.0 CORPORI='corpus-1-*-1.txt' # allocate-attrib-stl11 1 12 2 CFABUILD = ~/cfa2/build-perf … … 47 37 endef 48 38 49 OPERATIONS=pta peq pbv pall #pno39 OPERATIONS=pta peq pbv pall pno 50 40 ALLOCS=reuse fresh 51 41 CFA_APILEVELS=hl ll 52 42 CFA_SHARINGS=share noshare 53 PLATFORMS=cfa stl #buhr9443 PLATFORMS=cfa stl buhr94 54 44 55 45 ifneq ($(filter cfa,$(PLATFORMS)),) … … 152 142 CORPORI = corpus-100-*-1.txt 153 143 154 RUN_TASKSET_CPULIST=6155 156 # General timing157 # Output file gets concatenation of program outputs158 144 measurement: $(MEASURE) 159 145 tofile=measurement-`date '+%F--%H-%M-%S'`.csv ; \ … … 162 148 for corpus in $(CORPORI) ; do \ 163 149 corpusbody=`cat $$corpus` ; \ 164 resulttext=`taskset --cpu-list $(RUN_TASKSET_CPULIST)./$$prog 100 10 $$corpusbody` ; \165 echo $$prog,$$corpus,$$ resulttext>> $$tofile ; \166 echo $$prog,$$corpus,$$ resulttext; \150 printed=`./$$prog 100 10 $$corpusbody` ; \ 151 echo $$prog,$$corpus,$$printed >> $$tofile ; \ 152 echo $$prog,$$corpus,$$printed ; \ 167 153 done ; \ 168 154 done 155 # printed=`./$$prog 10000 - 10 $$corpusbody` ; \ 169 156 170 CFA_EXPANSIONS=0.02 0.05 0.1 0.2 0. 4 0.5 0.9 0.98157 CFA_EXPANSIONS=0.02 0.05 0.1 0.2 0.5 0.9 171 158 172 # Special-case timing with extra IV for CFA_EXPANSIONS173 # Output file gets concatenation of program outputs (one line per run)174 159 measurement2: $(MEASURE) 175 160 tofile=measurement-`date '+%F--%H-%M-%S'`.csv ; \ … … 194 179 done 195 180 196 # Space, with the IV for CFA_EXPANSIONS197 # Runs Mubeen's malloc interceptor to get malloc-request state198 # Output file gets concatenation of the interceptor's output (one line per run); program's output ignorred199 # Expect and ignore crashes; they're during shutdown, after everything we care about is over200 181 measurement3: $(MEASURE) 201 tofile=measurement-`date '+%F--%H-%M-%S'`.ssv ; \202 182 for prog in $(MEASURE) ; do \ 203 183 for corpus in $(CORPORI) ; do \ 204 184 for expansion in $(CFA_EXPANSIONS) ; do \ 205 185 corpusbody=`cat $$corpus` ; \ 206 LD_PRELOAD=~/plg2/mubeen-stat-shim/malloc/mallocWrappers.so ./$$prog 1000 1.006 $$expansion 10 $$corpusbody ; \ 207 printed=`tail -n 1 preload_dump.txt` ; \ 208 echo $$prog $$corpus $$expansion $$printed >> $$tofile ; \ 209 echo $$prog $$corpus $$expansion $$printed ; \ 210 rm preload_dump.txt ; \ 186 LD_PRELOAD=~/plg2/mubeen-stat-shim/malloc/mallocWrappers.so ./$$prog 1000 1.006 $$expansion 1 $$corpusbody ; \ 187 mv preload_dump.txt preload_dump--qrun1--$$corpus--expansion-$$expansion.txt ; \ 211 188 done ; \ 212 189 done ; \ 213 190 done 214 215 # Time attribution, with the IV for CFA_EXPANSIONS216 # Runs the SUT under perf, then crunches the perf result217 # Output file gets concatenation of perf summaries (several lines per run); program's output ignorred218 # Expect and ignore output "addr2line: DWARF error: section .debug_info is larger than its filesize!"219 measurement4: $(MEASURE)220 RUNID=`date '+%F--%H-%M-%S'` ; \221 tofile=measurement-$$RUNID.ssv ; \222 echo $$tofile ; \223 for prog in $(MEASURE) ; do \224 for corpus in $(CORPORI) ; do \225 for expansion in $(CFA_EXPANSIONS) ; do \226 SLUG=measurement--$$prog--$$corpus--$$expansion--$$RUNID ; \227 corpusbody=`cat $$corpus` ; \228 perf record --call-graph dwarf -m16M ./$$prog 1000 1.006 $$expansion 10 $$corpusbody ; \229 mv perf.data $$SLUG.data ; \230 perf script -i $$SLUG.data > $$SLUG.perf ; \231 ~/flamegraph/FlameGraph/stackcollapse-perf.pl $$SLUG.perf > $$SLUG.folded ; \232 ~/flamegraph/FlameGraph/flamegraph.pl $$SLUG.folded > $$SLUG.svg ; \233 python3 process-allocn-attrib.py $$SLUG.folded | xargs -L1 echo $$prog $$corpus $$expansion >> $$tofile ; \234 done ; \235 done ; \236 done -
doc/theses/mike_brooks_MMath/benchmarks/string/make-flamegraph.sh
rbd72f517 r2410424 10 10 # $3 is coprus id : x-100-20-1 (goes with corpusx-100-20-1.txt) 11 11 12 SLUG=perf--$1--${2//[ .]/-}--$3--`date '+%F--%H-%M-%S'` 13 benchdir=$(dirname "$0") 14 echo benchdir = $benchdir 12 SLUG=perf--$1--${2//[ .]/-}--$3 15 13 16 perf record --call-graph dwarf -m16M $benchdir/perfexp-$1 $2 `cat $benchdir/corpus$3.txt`14 perf record --call-graph dwarf -m16M ~/plg2/cfa2/cfa-cc/tests/zombies/string-perf/perfexp-$1 $2 `cat ~/plg2/cfa2/cfa-cc/tests/zombies/string-perf/corpus$3.txt` 17 15 18 16 mv perf.data $SLUG.data … … 20 18 ../flamegraph/FlameGraph/stackcollapse-perf.pl $SLUG.perf > $SLUG.folded 21 19 ../flamegraph/FlameGraph/flamegraph.pl $SLUG.folded > $SLUG.svg 22 #cp $SLUG.svg ~/plg2/flames20 cp $SLUG.svg ~/plg2/flames -
doc/theses/mike_brooks_MMath/benchmarks/string/prog-allocn.cfa
rbd72f517 r2410424 42 42 #endif 43 43 44 44 45 #if defined IMPL_CFA_HL 45 46 #include <string.hfa> 46 #include <fstream.hfa>47 47 extern void TUNING_set_string_heap_liveness_threshold(double); // in string_res.hfa 48 48 #elif defined IMPL_CFA_LL 49 49 #include <string_res.hfa> 50 #include <fstream.hfa>51 50 #endif 52 51 -
doc/theses/mike_brooks_MMath/benchmarks/string/prog-passbyval.cfa
rbd72f517 r2410424 45 45 #if defined IMPL_CFA_HL 46 46 #include <string.hfa> 47 #include <fstream.hfa>48 47 #elif defined IMPL_CFA_LL 49 48 #include <string_res.hfa> 50 #include <fstream.hfa>51 49 #endif 52 50 -
doc/theses/mike_brooks_MMath/benchmarks/string/prog.cfa
rbd72f517 r2410424 45 45 #if defined IMPL_CFA_HL 46 46 #include <string.hfa> 47 #include <fstream.hfa>48 47 #elif defined IMPL_CFA_LL 49 48 #include <string_res.hfa> 50 #include <fstream.hfa>51 49 #endif 52 50
Note:
See TracChangeset
for help on using the changeset viewer.