libMesh / TIMPI

Templated Interface to MPI
GNU Lesser General Public License v2.1
12 stars 11 forks source link

Assert !sending empty vectors even with NBX #117

Closed roystgnr closed 1 year ago

roystgnr commented 1 year ago

Logan got bit by this in the ray tracing code.

In a sense this is making the sync code less useful, because someone could be legitimately sending a message with an empty container (just as we tend to attach special meaning to a nullptr) ... but more likely an empty container is a performance bug; he says it was in his cases.

Also, we can't support sending empty containers as messages in the round-robin backend, so if we want to be able to swap that in we need the same restrictions elsewhere.

We do fear that some code will only generate empty sends at high processor counts, making assertion failures here tricky to debug, but since an assertion will never bring down an opt-mode simulation, that should be reasonable enough.

moosebuild commented 1 year ago

Job Coverage on 8177990 wanted to post the following:

Coverage

Coverage did not change

Full coverage report

This comment will be updated on new commits.