- Timestamp:
- May 13, 2025, 1:17:37 PM (4 months ago)
- Branches:
- master
- Children:
- bd72f517
- Parents:
- ae0c1c3
- File:
-
- 1 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
Note:
See TracChangeset
for help on using the changeset viewer.