Changeset 7d02d35 for doc/theses/mike_brooks_MMath
- Timestamp:
- May 13, 2025, 1:17:37 PM (4 months ago)
- Branches:
- master
- Children:
- bd72f517
- Parents:
- ae0c1c3
- Location:
- doc/theses/mike_brooks_MMath/benchmarks/string
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mike_brooks_MMath/benchmarks/string/Makefile
rae0c1c3 r7d02d35 1 # Usage 2 # $cfabuild/driver/cfa -nodebug -quiet -c -x c /dev/null && rm null.o || echo Need to fix \$cfabuild 3 # make CFABUILD=$cfabuild -j8 # compile 4 # make measurement CFA_APILEVELS=ll OPERATIONS='pta peq pbv' CORPORI='corpus-100-*-1.txt corpus-1-*-1.txt' # append-pbv 5 # make measurement2 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=cfa CFA_SHARINGS=share CORPORI='corpus-1-*-1.txt' # allocate-speed-cfa 6 # make measurement2 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=stl CFA_EXPANSIONS=-1.0 CORPORI='corpus-1-*-1.txt' # allocate-speed-stl 7 # make measurement3 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=cfa CFA_SHARINGS=share CORPORI='corpus-1-*-1.txt' # allocate-space-cfa 8 # make measurement3 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=stl CFA_EXPANSIONS=-1.0 CORPORI='corpus-1-*-1.txt' # allocate-space-stl 9 # make measurement4 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=cfa CFA_EXPANSIONS=0.2 CFA_SHARINGS=share CORPORI='corpus-1-*-1.txt' # allocate-attrib-cfa 10 # make measurement4 CFA_APILEVELS=ll OPERATIONS='pall' PLATFORMS=stl CFA_EXPANSIONS=-1.0 CORPORI='corpus-1-*-1.txt' # allocate-attrib-stl 1 11 2 12 CFABUILD = ~/cfa2/build-perf … … 37 47 endef 38 48 39 OPERATIONS=pta peq pbv pall pno49 OPERATIONS=pta peq pbv pall #pno 40 50 ALLOCS=reuse fresh 41 51 CFA_APILEVELS=hl ll 42 52 CFA_SHARINGS=share noshare 43 PLATFORMS=cfa stl buhr9453 PLATFORMS=cfa stl #buhr94 44 54 45 55 ifneq ($(filter cfa,$(PLATFORMS)),) … … 142 152 CORPORI = corpus-100-*-1.txt 143 153 154 RUN_TASKSET_CPULIST=6 155 156 # General timing 157 # Output file gets concatenation of program outputs 144 158 measurement: $(MEASURE) 145 159 tofile=measurement-`date '+%F--%H-%M-%S'`.csv ; \ … … 148 162 for corpus in $(CORPORI) ; do \ 149 163 corpusbody=`cat $$corpus` ; \ 150 printed=`./$$prog 100 10 $$corpusbody` ; \ 151 echo $$prog,$$corpus,$$printed >> $$tofile ; \ 152 echo $$prog,$$corpus,$$printed ; \ 153 done ; \ 154 done 155 # printed=`./$$prog 10000 - 10 $$corpusbody` ; \ 156 157 CFA_EXPANSIONS=0.02 0.05 0.1 0.2 0.5 0.9 158 164 resulttext=`taskset --cpu-list $(RUN_TASKSET_CPULIST) ./$$prog 100 10 $$corpusbody` ; \ 165 echo $$prog,$$corpus,$$resulttext >> $$tofile ; \ 166 echo $$prog,$$corpus,$$resulttext ; \ 167 done ; \ 168 done 169 170 CFA_EXPANSIONS=0.02 0.05 0.1 0.2 0.4 0.5 0.9 0.98 171 172 # Special-case timing with extra IV for CFA_EXPANSIONS 173 # Output file gets concatenation of program outputs (one line per run) 159 174 measurement2: $(MEASURE) 160 175 tofile=measurement-`date '+%F--%H-%M-%S'`.csv ; \ … … 179 194 done 180 195 196 # Space, with the IV for CFA_EXPANSIONS 197 # Runs Mubeen's malloc interceptor to get malloc-request state 198 # Output file gets concatenation of the interceptor's output (one line per run); program's output ignorred 199 # Expect and ignore crashes; they're during shutdown, after everything we care about is over 181 200 measurement3: $(MEASURE) 201 tofile=measurement-`date '+%F--%H-%M-%S'`.ssv ; \ 182 202 for prog in $(MEASURE) ; do \ 183 203 for corpus in $(CORPORI) ; do \ 184 204 for expansion in $(CFA_EXPANSIONS) ; do \ 185 205 corpusbody=`cat $$corpus` ; \ 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 ; \ 188 done ; \ 189 done ; \ 190 done 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 ; \ 211 done ; \ 212 done ; \ 213 done 214 215 # Time attribution, with the IV for CFA_EXPANSIONS 216 # Runs the SUT under perf, then crunches the perf result 217 # Output file gets concatenation of perf summaries (several lines per run); program's output ignorred 218 # 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
rae0c1c3 r7d02d35 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 12 SLUG=perf--$1--${2//[ .]/-}--$3--`date '+%F--%H-%M-%S'` 13 benchdir=$(dirname "$0") 14 echo benchdir = $benchdir 13 15 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`16 perf record --call-graph dwarf -m16M $benchdir/perfexp-$1 $2 `cat $benchdir/corpus$3.txt` 15 17 16 18 mv perf.data $SLUG.data … … 18 20 ../flamegraph/FlameGraph/stackcollapse-perf.pl $SLUG.perf > $SLUG.folded 19 21 ../flamegraph/FlameGraph/flamegraph.pl $SLUG.folded > $SLUG.svg 20 cp $SLUG.svg ~/plg2/flames22 #cp $SLUG.svg ~/plg2/flames -
doc/theses/mike_brooks_MMath/benchmarks/string/prog-allocn.cfa
rae0c1c3 r7d02d35 42 42 #endif 43 43 44 45 44 #if defined IMPL_CFA_HL 46 45 #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> 50 51 #endif 51 52 -
doc/theses/mike_brooks_MMath/benchmarks/string/prog-passbyval.cfa
rae0c1c3 r7d02d35 45 45 #if defined IMPL_CFA_HL 46 46 #include <string.hfa> 47 #include <fstream.hfa> 47 48 #elif defined IMPL_CFA_LL 48 49 #include <string_res.hfa> 50 #include <fstream.hfa> 49 51 #endif 50 52 -
doc/theses/mike_brooks_MMath/benchmarks/string/prog.cfa
rae0c1c3 r7d02d35 45 45 #if defined IMPL_CFA_HL 46 46 #include <string.hfa> 47 #include <fstream.hfa> 47 48 #elif defined IMPL_CFA_LL 48 49 #include <string_res.hfa> 50 #include <fstream.hfa> 49 51 #endif 50 52
Note:
See TracChangeset
for help on using the changeset viewer.