Topology build speed-ups and (including threading)#4302
Conversation
The experimental replacement for the cell-wise owned-vertex numbering loop broke correctness: it reset the merge iterator into the globally sorted owned_vertices array back to cbegin() for every cell, and never advanced it when a mismatch occurred, so vertices were mismatched to the wrong position. This caused CHECK_adjacency_list_equal failures in "Interval adaptive refinement" (interval.cpp) with cyclically-shifted connectivity. Restore the previously working, correctness-verified implementation (the old code was left commented out above the broken block). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Make sure the meaning of |
The changes in #4270 are inconsistent with the changes that came before it. Everywhere apart from in #4270, |
That's not true, see what GJK does, dolfinx/cpp/dolfinx/geometry/gjk.h Lines 539 to 542 in 02343da or also what ordering does, dolfinx/cpp/dolfinx/graph/ordering.cpp Lines 194 to 198 in 02343da Both have for num_threads=1 serial, non-threaded codepath. This has to be unified, thats a primary concern. Other issues we can benchmark and fix uniformly later. |
No description provided.