- Timestamp:
- Jul 27, 2025, 2:48:31 PM (2 months ago)
- Branches:
- master
- Children:
- b9d1242
- Parents:
- da10157 (diff), 7806f91 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mike_brooks_MMath/benchmarks/list/Makefile
rda10157 r1eea589f 9 9 # make results-latest.csv OP_MOVEMENTS=stack OP_POLARITIES=insfirst OP_ACCESSORS=allhead RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=thorough 10 10 # cp results-latest.csv results-sizing.csv 11 # make results-latest.csv OP_MOVEMENTS=queue OP_POLARITIES=inslast OP_ACCESSORS=remelem RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=thorough 12 # cp results-latest.csv results-sizing-b.csv 13 # make results-latest.csv RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=moderate FX_SOLUTIONS='lq-tailq lq-list cfa-cfa upp-upp' 14 # cp results-latest.csv results-intrsv-cube.csv 11 15 12 16 CFA = cfa 17 CC = gcc-11 13 18 CXX = g++-11 14 19 UXX = ~/u++/u++-7.0.0/bin/u++ … … 18 23 RUN_NUM_REPS=3 19 24 RUN_DATA_SIZE_MODE=none 20 RUN_DURATION_SEC =525 RUN_DURATION_SEC?=5 21 26 RUN_TASKSET_CPULIST=6 22 27 … … 25 30 PERFFLAGS_CC = -DNDEBUG -O3 26 31 else ifeq "$(MODE)" "correctness" 27 PERFFLAGS_CFA = -O0 -g - debug32 PERFFLAGS_CFA = -O0 -g -nodebug -D__CFA_DEBUG__ # shortcut for not also building debug cfa 28 33 PERFFLAGS_CC = -O0 -g 29 34 else … … 66 71 OP_POLARITIES=insfirst inslast 67 72 OP_ACCESSORS=allhead inselem remelem 68 FX_SOLUTIONS=lq-tailq lq-list cfa-cfa upp-upp cpp-stlref 73 RUN_INTERLEAVE_PCTS=0 74 75 76 FX_SOLUTIONS=lq-tailq lq-list cfa-cfa cfa-mandHead cfa-noListed cfa-noIter cfa-likeLq cfa-strip upp-upp cpp-stlref 69 77 70 78 OPS=$(call cross3,-,$(OP_MOVEMENTS),$(OP_POLARITIES),$(OP_ACCESSORS)) … … 124 132 $(COMPILER) $(EXTRA_COMP_FLAGS) -c $< $(OP_DEFINES) -include op-$(OP).h -include fx-$(FX).h -o $@ -MMD 125 133 126 sayhi: 127 echo $(PERFPROGS) 128 129 130 ifeq "$(RUN_DATA_SIZE_MODE)" "common5" 131 RUN_DATA_SIZES=\ 134 135 # troubleshooting, e.g. `make echo_DEMOS` runs `echo $(DEMOS)` 136 echo_% : 137 @echo '$($(@:echo_%=%))' 138 139 140 141 142 # ifeq "$(RUN_DATA_SIZE_MODE)" "common5" 143 # RUN_DATA_SIZES=\ 144 # 7-1000000 \ 145 # 71-100000 \ 146 # 809-10000 \ 147 # 9051-1000 \ 148 # 72421-100 149 # else ifeq "$(RUN_DATA_SIZE_MODE)" "thorough" 150 # RUN_DATA_SIZES=\ 151 # 1-1000000 \ 152 # 2-1000000 \ 153 # 3-1000000 \ 154 # 5-1000000 \ 155 # 7-1000000 \ 156 # 11-100000 \ 157 # 13-100000 \ 158 # 19-100000 \ 159 # 29-100000 \ 160 # 37-100000 \ 161 # 53-100000 \ 162 # 71-100000 \ 163 # 101-10000 \ 164 # 149-10000 \ 165 # 211-10000 \ 166 # 283-10000 \ 167 # 401-10000 \ 168 # 569-10000 \ 169 # 809-10000 \ 170 # 1151-1000 \ 171 # 1601-1000 \ 172 # 2267-1000 \ 173 # 3203-1000 \ 174 # 4547-1000 \ 175 # 6473-1000 \ 176 # 9051-1000 \ 177 # 12809-100 \ 178 # 18119-100 \ 179 # 25601-100 \ 180 # 36209-100 \ 181 # 51203-100 \ 182 # 72421-100 \ 183 # 102407-10 \ 184 # 144817-10 \ 185 # 204803-10 \ 186 # 289637-10 \ 187 # 409609-10 \ 188 # 579263-10 \ 189 # 819229-10 \ 190 # 1158613-1 \ 191 # 1638431-1 \ 192 # 2317057-1 \ 193 # 3276803-1 \ 194 # 4634111-1 \ 195 # 6553621-1 \ 196 # 9268211-1 197 # else ifeq "$(RUN_DATA_SIZE_MODE)" "bignquick" 198 # RUN_DATA_SIZES=\ 199 # 3-1000000 \ 200 # 29-100000 \ 201 # 283-10000 \ 202 # 3203-1000 \ 203 # 25601-100 \ 204 # 289637-10 \ 205 # 1000000-1 \ 206 # 3276803-1 \ 207 # 10000000-1 208 # else ifeq "$(RUN_DATA_SIZE_MODE)" "bignthorough" 209 # RUN_DATA_SIZES=\ 210 # 1-1000000 \ 211 # 3-1000000 \ 212 # 7-1000000 \ 213 # 13-100000 \ 214 # 29-100000 \ 215 # 53-100000 \ 216 # 101-10000 \ 217 # 211-10000 \ 218 # 401-10000 \ 219 # 809-10000 \ 220 # 1601-1000 \ 221 # 3203-1000 \ 222 # 6473-1000 \ 223 # 12809-100 \ 224 # 25601-100 \ 225 # 51203-100 \ 226 # 102407-10 \ 227 # 204803-10 \ 228 # 409609-10 \ 229 # 819229-10 \ 230 # 1638431-1 \ 231 # 3276803-1 \ 232 # 6553621-1 \ 233 # 12809000-1 \ 234 # 25601000-1 \ 235 # 51203000-1 \ 236 # 102407000-1 \ 237 # 204803000-1 \ 238 # 409609000-1 239 # else ifeq "$(RUN_DATA_SIZE_MODE)" "moderate" 240 # RUN_DATA_SIZES=\ 241 # 1-1000000 \ 242 # 3-1000000 \ 243 # 7-1000000 \ 244 # 13-100000 \ 245 # 29-100000 \ 246 # 53-100000 \ 247 # 101-10000 \ 248 # 211-10000 \ 249 # 401-10000 \ 250 # 1601-1000 \ 251 # 6473-1000 \ 252 # 25601-100 253 # else ifeq "$(RUN_DATA_SIZE_MODE)" "sweetspot" 254 # RUN_DATA_SIZES=\ 255 # 1-1000000 \ 256 # 2-1000000 \ 257 # 3-1000000 \ 258 # 5-1000000 \ 259 # 7-1000000 \ 260 # 11-100000 \ 261 # 13-100000 \ 262 # 19-100000 \ 263 # 29-100000 \ 264 # 37-100000 \ 265 # 53-100000 \ 266 # 71-100000 \ 267 # 101-10000 \ 268 # 149-10000 269 # else ifeq "$(RUN_DATA_SIZE_MODE)" "manual" 270 # ifeq "$(RUN_DATA_SIZES)" "" 271 # $(error RUN_DATA_SIZE_MODE is manual but RUN_DATA_SIZES not given) 272 # endif 273 # else ifeq "$(RUN_DATA_SIZE_MODE)" "none" 274 # # Assume user manages RUN_ARGS; empty RUN_ARGS just means run with compiled-in defaults 275 # RUN_DATA_SIZES=none 276 # else 277 # $(error Bad RUN_DATA_SIZE_MODE ($(RUN_DATA_SIZE_MODE)); should be common5, thorough or manual) 278 # endif 279 280 281 ifeq "$(RUN_DATA_SIZE_MODE)" "manual" 282 ifeq "$(RUN_DATA_SIZES)" "" 283 $(error RUN_DATA_SIZE_MODE is manual but RUN_DATA_SIZES not given) 284 endif 285 endif 286 287 RUN_DATA_SIZES = \ 288 $(if $(filter $(RUN_DATA_SIZE_MODE),common5), \ 132 289 7-1000000 \ 133 290 71-100000 \ 134 291 809-10000 \ 135 292 9051-1000 \ 136 72421-100 137 else ifeq "$(RUN_DATA_SIZE_MODE)" "thorough" 138 RUN_DATA_SIZES=\ 293 72421-100 \ 294 , $(if $(filter $(RUN_DATA_SIZE_MODE),thorough), \ 295 1-1000000 \ 296 2-1000000 \ 297 3-1000000 \ 298 5-1000000 \ 139 299 7-1000000 \ 140 300 11-100000 \ … … 178 338 4634111-1 \ 179 339 6553621-1 \ 180 9268211-1 181 else ifeq "$(RUN_DATA_SIZE_MODE)" "manual" 182 ifeq "$(RUN_DATA_SIZES)" "" 183 $(error RUN_DATA_SIZE_MODE is manual but RUN_DATA_SIZES not given) 184 endif 185 else ifeq "$(RUN_DATA_SIZE_MODE)" "none" 186 # Assume user manages RUN_ARGS; empty RUN_ARGS just means run with compiled-in defaults 187 RUN_DATA_SIZES=none 188 else 189 $(error Bad RUN_DATA_SIZE_MODE ($(RUN_DATA_SIZE_MODE)); should be common5, thorough or manual) 190 endif 340 9268211-1 \ 341 , $(if $(filter $(RUN_DATA_SIZE_MODE),bignquick), \ 342 3-1000000 \ 343 29-100000 \ 344 283-10000 \ 345 3203-1000 \ 346 25601-100 \ 347 289637-10 \ 348 1000000-1 \ 349 3276803-1 \ 350 10000000-1 \ 351 , $(if $(filter $(RUN_DATA_SIZE_MODE),bignthorough), \ 352 1-1000000 \ 353 3-1000000 \ 354 7-1000000 \ 355 13-100000 \ 356 29-100000 \ 357 53-100000 \ 358 101-10000 \ 359 211-10000 \ 360 401-10000 \ 361 809-10000 \ 362 1601-1000 \ 363 3203-1000 \ 364 6473-1000 \ 365 12809-100 \ 366 25601-100 \ 367 51203-100 \ 368 102407-10 \ 369 204803-10 \ 370 409609-10 \ 371 819229-10 \ 372 1638431-1 \ 373 3276803-1 \ 374 6553621-1 \ 375 12809000-1 \ 376 25601000-1 \ 377 51203000-1 \ 378 102407000-1 \ 379 204803000-1 \ 380 409609000-1 \ 381 , $(if $(filter $(RUN_DATA_SIZE_MODE),moderate), \ 382 1-1000000 \ 383 3-1000000 \ 384 7-1000000 \ 385 13-100000 \ 386 29-100000 \ 387 53-100000 \ 388 101-10000 \ 389 211-10000 \ 390 401-10000 \ 391 1601-1000 \ 392 6473-1000 \ 393 25601-100 \ 394 , $(if $(filter $(RUN_DATA_SIZE_MODE),sweetspot), \ 395 1-1000000 \ 396 2-1000000 \ 397 3-1000000 \ 398 5-1000000 \ 399 7-1000000 \ 400 11-100000 \ 401 13-100000 \ 402 19-100000 \ 403 29-100000 \ 404 37-100000 \ 405 53-100000 \ 406 71-100000 \ 407 101-10000 \ 408 149-10000 \ 409 , $(if $(filter $(RUN_DATA_SIZE_MODE),none), \ 410 , $(error Bad RUN_DATA_SIZE_MODE ($(RUN_DATA_SIZE_MODE)); see list of accepted values in Makefile's RUN_DATA_SIZES defimition) \ 411 ))))))) 191 412 192 413 RUN_REP_IDS=$(shell echo {1..$(RUN_NUM_REPS)}) # 1 2 3 193 RUN_REP_EXTS=$(call cross3,,run,$(RUN_REP_IDS),.1csv) # run1.1csv run2.1cav run3.1csv 194 195 RUN_LAUNCHES=$(call cross,--,$(RUN_DATA_SIZES),$(RUN_REP_EXTS)) 196 414 RUN_REP_EXTS=$(call cross3,,run,$(RUN_REP_IDS),.1csv) # run1.1csv run2.1csv run3.1csv 415 416 RUN_LAUNCHES=$(call cross3,--,$(RUN_DATA_SIZES),$(RUN_INTERLEAVE_PCTS),$(RUN_REP_EXTS)) 197 417 198 418 … … 207 427 %.1csv : NUMNODES=$(call proj,-,$(SIZING),1) 208 428 %.1csv : CHECKDONE=$(call proj,-,$(SIZING),2) 209 %.1csv : REP_ID=$(subst run,,$(call proj,--,$(LAUNCH),2)) 210 %.1csv : RUN_ARGS=$(if $(filter none,$(SIZING)),,$(RUN_DURATION_SEC) $(CHECKDONE) $(NUMNODES) -1 $(REP_ID)) # use REP_ID as seed 429 %.1csv : RUN_INTERLEAVE_PCT=$(call proj,--,$(LAUNCH),2) 430 %.1csv : RUN_INTERLEAVE_FRAC=$(shell echo "scale=2; $(RUN_INTERLEAVE_PCT) / 100" | bc) 431 %.1csv : REP_ID=$(subst run,,$(call proj,--,$(LAUNCH),3)) 432 %.1csv : SEED=$(REP_ID) 433 %.1csv : RUN_ARGS=$(if $(filter none,$(SIZING)),,$(RUN_DURATION_SEC) $(CHECKDONE) $(NUMNODES) -1 $(SEED) $(RUN_INTERLEAVE_FRAC)) # use REP_ID as seed 211 434 %.1csv : REP_TIME=$(shell date '+%F %H:%M:%S') 212 435 %.1csv : perfprogs FORCE 213 taskset --cpu-list $(RUN_TASKSET_CPULIST) ./perfexp--$(CORE) $(RUN_ARGS) | xargs -n 1 printf '%s,%s,%s,%s\n' "$(REP_TIME)" "$(REP_ID)" "$(RUN_ARGS)" | tee $@436 taskset --cpu-list $(RUN_TASKSET_CPULIST) ./perfexp--$(CORE) $(RUN_ARGS) | xargs -n 1 printf '%s,%s,%s,%s\n' "$(REP_TIME)" "$(REP_ID)" "$(RUN_ARGS)" | tee -a $(RESULT) 214 437 215 438 216 439 BATCHTIME=$(shell date '+%F--%H-%M-%S') 217 218 results--$(BATCHTIME).csv : $(RESULT1S_SHUFD) 219 cat $^ | tee $@ 220 rm $^ 221 222 results-latest.csv : results--$(BATCHTIME).csv 440 RESULT=results--$(BATCHTIME).csv 441 442 sub_make=$(MAKE) --no-print-directory $(1); cat $(1) >> $(2); rm $(1); 443 444 445 export RESULT1S_SHUFD # used by sh loop in $(RESULT) recipe 446 export RUN_DURATION_SEC # used by sub make; occurs free in %.1csv's variable bindings (not extracted from target name) 447 448 449 NTESTS=$(words $(RESULT1S_SHUFD)) 450 RUNDUR = $(shell expr $(NTESTS) \* $(RUN_DURATION_SEC)) 451 ETA = $(shell date -d "+$(RUNDUR) seconds" +"%H:%M:%S") 452 453 $(RESULT) : 454 @echo running $(NTESTS) tests, eta $(ETA) 455 for r in $$RESULT1S_SHUFD; do $(MAKE) --no-print-directory RESULT=$(RESULT) $$r; done 456 457 results-latest.csv : $(RESULT) 223 458 rm -f $@ 224 459 ln -s $< $@ … … 237 472 238 473 -include *.d 474 475 results-general.csv: FORCE 476 $(MAKE) results-latest.csv RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=sweetspot OP_ACCESSORS=remelem RUN_INTERLEAVE_PCTS='0 50' FX_SOLUTIONS='lq-tailq lq-list cfa-cfa cfa-mandHead' 477 cat results-latest.csv >> $@ 478 $(MAKE) results-latest.csv RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=sweetspot OP_ACCESSORS='allhead inselem' RUN_INTERLEAVE_PCTS='0' FX_SOLUTIONS='lq-tailq lq-list cfa-cfa cfa-mandHead' 479 cat results-latest.csv >> $@ 480 $(MAKE) results-latest.csv RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=sweetspot OP_ACCESSORS=remelem RUN_INTERLEAVE_PCTS='0 50' FX_SOLUTIONS='cfa-noListed cfa-noIter cfa-likeLq' 481 cat results-latest.csv >> $@ 482 $(MAKE) results-latest.csv RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=sweetspot OP_ACCESSORS='allhead inselem' RUN_INTERLEAVE_PCTS='0' FX_SOLUTIONS='cfa-noListed cfa-noIter cfa-likeLq' 483 cat results-latest.csv >> $@ 484 $(MAKE) results-latest.csv RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=sweetspot OP_ACCESSORS=remelem RUN_INTERLEAVE_PCTS='0 50' FX_SOLUTIONS='cfa-strip upp-upp cpp-stlref' 485 cat results-latest.csv >> $@ 486 $(MAKE) results-latest.csv RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=sweetspot OP_ACCESSORS='allhead inselem' RUN_INTERLEAVE_PCTS='0' FX_SOLUTIONS='cfa-strip upp-upp cpp-stlref' 487 cat results-latest.csv >> $@ 488 489 results-zoomout-noshuf.csv: FORCE 490 @echo Do we need to make for tiny user iters? If so: 491 @echo make clean 492 @echo make perfprogs CFA=$$cfa EXTRA_COMP_FLAGS=-DTINY_USER_ITEMS -j8 493 make results-latest.csv RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=bignthorough OPS=stack-insfirst-allhead FX_SOLUTIONS='lq-tailq cfa-cfa upp-upp cpp-stlref cfa-strip' SEED=-1 494 cp results-latest.csv $@ 495 496 results-zoomout-shuf.csv: FORCE 497 @echo Do we need to make for tiny user iters? If so: 498 @echo make clean 499 @echo make perfprogs CFA=$$cfa EXTRA_COMP_FLAGS=-DTINY_USER_ITEMS -j8 500 make results-latest.csv RUN_DURATION_SEC=5 RUN_NUM_REPS=5 RUN_DATA_SIZE_MODE=bignthorough OPS=stack-insfirst-allhead FX_SOLUTIONS='lq-tailq cfa-cfa upp-upp cpp-stlref cfa-strip' 501 cp results-latest.csv $@ 502 503 thesis: results-general.csv results-zoomout-noshuf.csv results-zoomout-shuf.csv 504 505 # matches peter's "random" 506 results-smoketest.csv: RUN_DATA_SIZE_MODE=bignquick 507 results-smoketest.csv: RUN_NUM_REPS=1 508 results-smoketest.csv: RUN_DURATION_SEC=1 509 results-smoketest.csv: OP_MOVEMENTS=stack 510 results-smoketest.csv: OP_POLARITIES=insfirst 511 results-smoketest.csv: OP_ACCESSORS=allhead 512 results-smoketest.csv: $(RESULT) 513 mv $< $@
Note:
See TracChangeset
for help on using the changeset viewer.