Skip to content

Loading builds...

Changes

#173 (Feb 16, 2026, 10:47:00 PM)

addressing comments of module proposal
alvin.zhang at

#167 (Feb 11, 2026, 10:47:59 PM)

first proofread of module proposal
pabuhr at

#162 (Feb 6, 2026, 10:47:59 PM)

update citations
pabuhr at

#160 (Feb 4, 2026, 10:47:00 PM)

list perf "zoomout" numbers run with interleaving and observation disabled, which removes an anomaly and reproduces the "zoomin" numbers in the "sweet spot"
mlbrooks at
LL perf: adjust configurations

Simplify doing a manual one-off run.  Disable harness's iterators on "zoomout" plots.  Remove cfa-strip and add lq-list for "zoomout" plots.  Add more exploratory analyses.
mlbrooks at
LL perf: small fixes

Fix off-by-one bug in runtime-no-shuf solution.  Add safety check that interleaving is off.  Re-run.
mlbrooks at
Replace dlist test's sout with printf, to enable testing non-libcfa draft implementations
mlbrooks at
Move link-list to-be implementation to libcfa
mlbrooks at
Make dlist2 pass the original dlist test.  Now, there is one common test for both.
mlbrooks at
Data and analysis associated with harness of commit 78bc398830.

Analysis change narrows the sweet-spot zone to where CFA is not misbehaving on queues and where general noise is reduced.

Revised plots are going into thesis doc, but commentary/focus has not shifted accordingly.  Notably, the CFA-attribution analysis is now mostly obviated.
mlbrooks at
Various changes motivated by improving CFA score on len-1 queues.

No such CFA score improvement achieved.  Each change helped only on stripped-down, "try to isolate an important factor" tests.  Generally, the changes are benign refactorings.  (Results substantiating "don't hurt" are forthcoming.)

Libcfa changes are
- move a read action from between the memory breaks to before them
- make the memory breaks conditionally excluded (default included, as before)

Harness changes are
- add width, a compiled-in number of lists to use in round-robin order; defaults to 1, which is what was happening all along
- make the analysis scripts tolerate (so far, ignore) the width column
- rename CLI arg NumNodes to Length (now NumNodes is Length * Width)
- factor core testing loops into helper function `runtest`
- switch to signal-based termination (and add uC++ work-around)
- put "iterator threading" into ITERS_SAVE, joining preexisting "save iter into elem's self ref"; make iterator threading conditional on iterators-active
- disable insertion loop counter and obs_*-variable declarations (and thus writes) when observation disabled
- generalize observation to work on multiple lists
- make observation and assertion-check-enabled mode work on stripped CFA list implementations like tagging-disabled
- through this observation, ensure correctness of multi-list versions
mlbrooks at
Adjust stripped-harness comparion config to exclude interleaving, matching current general runs
mlbrooks at
Add data for Intel host 'java', alongside incumbent AMD host 'swift'.

Revise analysis--presentation to show both side by side.  Remove presentation of CFA Attribution, which is now seen to be chasing a red herring.

Data continue to be from harness of commit 78bc398830.
mlbrooks at
Refresh data to harness of 9d3dc40802c6.  Latest harness and data now correspond.  Plots in built thesis show latest data.
mlbrooks at
move old module work into another folder
alvin.zhang at
stitched modules proposal
alvin.zhang at

#148 (Jan 25, 2026, 8:20:00 PM)

2nd attempt to turn off ARM builds on algol
pabuhr at

#147 (Jan 25, 2026, 5:33:03 PM)

try to turn off ARM builds on algol
pabuhr at

#133 (Jan 14, 2026, 10:47:00 PM)

for opening a file, change to default initialization of mode parameter from overloaded functions; fix fstream initialization bug by calling default constructor in other constructors
pabuhr at
formatting
pabuhr at

#111 (Dec 23, 2025, 10:47:00 PM)

fix wording issues in last proofread of array chapter
pabuhr at

#109 (Dec 21, 2025, 10:47:00 PM)

last proofread array chapter
pabuhr at

#108 (Dec 20, 2025, 10:47:00 PM)

Revise array's overload-selection comment now that #247 is closed.

The set of overloads required is unaffected, just there's a simpler derivation of this set.
mlbrooks at
Improve libcfa-array's bound-check removal and write that thesis section.

The libcfa change adds a more performant alternative for a subset of multidimensional indexing cases that were already functionally correct.
That the new alternative is more performant is not shown in the test suite.
There is an associated new high-performance option for passing an array-or-slice to a function.
The added test cases cover those options.

The added in-thesis demos rely on the new more-performant alternative for multidimensional indexing.
mlbrooks at

#104 (Dec 16, 2025, 10:47:00 PM)

proofread string chapter
pabuhr at

#101 (Dec 13, 2025, 10:47:00 PM)

small wording changes
pabuhr at
more array proofreading
pabuhr at

#100 (Dec 12, 2025, 10:47:00 PM)

Edits in early sections.

Includes explicating the connection between unsafety stats and the three collection types.
mlbrooks at

#97 (Dec 9, 2025, 10:47:00 PM)

proofread background chapter
pabuhr at

#94 (Dec 6, 2025, 10:47:00 PM)

proofread introduction chapter
pabuhr at

#91 (Dec 3, 2025, 10:47:00 PM)

proofread abstract
pabuhr at

#82 (Nov 24, 2025, 10:47:00 PM)

rename private waituntil routines register_select, unregister_select, and on_selected with tailing $
pabuhr at
harmonize single_future with other future types, remove multi_future, marks its test as deprecated, and turn off its test
pabuhr at

#77 (Nov 19, 2025, 10:47:00 PM)

more cleanup of future code
pabuhr at

#74 (Nov 18, 2025, 10:59:46 AM)

fix design error in test waituntil/futures.cfa
pabuhr at

#73 (Nov 17, 2025, 10:47:00 PM)

add reference counting futures for use with waituntil
pabuhr at
many updates and additions to the uC++ to CFA cheat sheet
pabuhr at
raise * in /* and */ to look better
pabuhr at
many citation updates
pabuhr at
add missing Ada test program to Fangren's thesis
pabuhr at
update semaphore lock
pabuhr at
rewrite test program with futures and waituntil
pabuhr at

#69 (Nov 13, 2025, 10:47:01 PM)

Add issues with autogen removal: hiding too eagerly and not acting inspectably
mlbrooks at

#62 (Nov 7, 2025, 8:48:59 AM)

change name is_empty to empty for monitor conditions
pabuhr at
change use of random to prng
pabuhr at
update semaphore lock
pabuhr at

#54 (Oct 31, 2025, 2:28:24 PM)

formatting
pabuhr at
new version of barrier lock
pabuhr at
add shadow variable to thread structure
pabuhr at
change counters from ssize_t to size_t
pabuhr at
rename private variable with trailing $
pabuhr at
rename private variable with trailing $, and restructure lock
pabuhr at
add "clear" function to strstring
pabuhr at
update barrier tests for updated barrier
pabuhr at

#22 (Sep 30, 2025, 4:56:07 PM)

remove warnings from empty verify macros
pabuhr at
Indicate CFA only builds on Linux operating system
pabuhr at
add bibliography references
pabuhr at
Add section about contributing to the Cforall project
pabuhr at

#16 (Sep 25, 2025, 8:58:32 PM)

test full build on x86
pabuhr at

#15 (Sep 25, 2025, 4:31:31 PM)

2nd attempt test full build on ARM
pabuhr at

#13 (Sep 24, 2025, 9:36:24 PM)

update anew/adelete ctor/dtor to handle array with 0-byte elements
pabuhr at
formatting, add tests for new anew/adelete
pabuhr at
update expected alloc-ERR files
pabuhr at
test full build on ARM
pabuhr at

#12 (Sep 23, 2025, 10:47:00 PM)

remove empty chapter benchmarks.tex
pabuhr at

#5 (Sep 17, 2025, 10:47:00 PM)

wording and formatting changes to multiple sections
pabuhr at
fix symbolic links from concurrent to concurrency in longrun_tests
pabuhr at

#3 (Sep 15, 2025, 10:47:00 PM)

update strings, update for-control and string documentation
pabuhr at
harmonize user manual string discussion with string chapter
pabuhr at
make tabcolsep variable global
pabuhr at
clean up string discussion
pabuhr at