Ignore:
Timestamp:
Jul 27, 2025, 2:48:31 PM (2 months ago)
Author:
Peter A. Buhr <pabuhr@…>
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.
Message:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/mike_brooks_MMath/benchmarks/list/Makefile

    rda10157 r1eea589f  
    99# 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
    1010# 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
    1115
    1216CFA = cfa
     17CC = gcc-11
    1318CXX = g++-11
    1419UXX =  ~/u++/u++-7.0.0/bin/u++
     
    1823RUN_NUM_REPS=3
    1924RUN_DATA_SIZE_MODE=none
    20 RUN_DURATION_SEC=5
     25RUN_DURATION_SEC?=5
    2126RUN_TASKSET_CPULIST=6
    2227
     
    2530PERFFLAGS_CC  = -DNDEBUG -O3
    2631else ifeq "$(MODE)" "correctness"
    27 PERFFLAGS_CFA = -O0 -g -debug
     32PERFFLAGS_CFA = -O0 -g -nodebug -D__CFA_DEBUG__ # shortcut for not also building debug cfa
    2833PERFFLAGS_CC  = -O0 -g
    2934else
     
    6671OP_POLARITIES=insfirst inslast
    6772OP_ACCESSORS=allhead inselem remelem
    68 FX_SOLUTIONS=lq-tailq lq-list cfa-cfa upp-upp cpp-stlref
     73RUN_INTERLEAVE_PCTS=0
     74
     75
     76FX_SOLUTIONS=lq-tailq lq-list cfa-cfa cfa-mandHead cfa-noListed cfa-noIter cfa-likeLq cfa-strip upp-upp cpp-stlref
    6977
    7078OPS=$(call cross3,-,$(OP_MOVEMENTS),$(OP_POLARITIES),$(OP_ACCESSORS))
     
    124132        $(COMPILER) $(EXTRA_COMP_FLAGS) -c $< $(OP_DEFINES) -include op-$(OP).h -include fx-$(FX).h -o $@ -MMD
    125133
    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)`
     136echo_% :
     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
     281ifeq "$(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
     285endif
     286
     287RUN_DATA_SIZES = \
     288$(if $(filter $(RUN_DATA_SIZE_MODE),common5), \
    132289  7-1000000 \
    133290  71-100000 \
    134291  809-10000 \
    135292  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 \
    139299  7-1000000 \
    140300  11-100000 \
     
    178338  4634111-1 \
    179339  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)))))))
    191412
    192413RUN_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 
     414RUN_REP_EXTS=$(call cross3,,run,$(RUN_REP_IDS),.1csv)       # run1.1csv run2.1csv run3.1csv
     415
     416RUN_LAUNCHES=$(call cross3,--,$(RUN_DATA_SIZES),$(RUN_INTERLEAVE_PCTS),$(RUN_REP_EXTS))
    197417
    198418
     
    207427%.1csv : NUMNODES=$(call proj,-,$(SIZING),1)
    208428%.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
    211434%.1csv : REP_TIME=$(shell date '+%F %H:%M:%S')
    212435%.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)
    214437
    215438
    216439BATCHTIME=$(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
     440RESULT=results--$(BATCHTIME).csv
     441
     442sub_make=$(MAKE) --no-print-directory $(1); cat $(1) >> $(2); rm $(1);
     443
     444
     445export RESULT1S_SHUFD    # used by sh loop in $(RESULT) recipe
     446export RUN_DURATION_SEC  # used by sub make; occurs free in %.1csv's variable bindings (not extracted from target name)
     447
     448
     449NTESTS=$(words $(RESULT1S_SHUFD))
     450RUNDUR = $(shell expr $(NTESTS) \* $(RUN_DURATION_SEC))
     451ETA = $(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
     457results-latest.csv : $(RESULT)
    223458        rm -f $@
    224459        ln -s $< $@
     
    237472
    238473-include *.d
     474
     475results-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
     489results-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
     496results-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
     503thesis: results-general.csv results-zoomout-noshuf.csv results-zoomout-shuf.csv
     504
     505# matches peter's "random"
     506results-smoketest.csv: RUN_DATA_SIZE_MODE=bignquick
     507results-smoketest.csv: RUN_NUM_REPS=1
     508results-smoketest.csv: RUN_DURATION_SEC=1
     509results-smoketest.csv: OP_MOVEMENTS=stack
     510results-smoketest.csv: OP_POLARITIES=insfirst
     511results-smoketest.csv: OP_ACCESSORS=allhead
     512results-smoketest.csv: $(RESULT)
     513        mv $< $@
Note: See TracChangeset for help on using the changeset viewer.