Avoid overlapping buffer writes in matmul verification #174
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Déjà vu!
#151 replaces a
bool &
ref-capture withbuffer<bool>
withaccess::all
in the matmul verification code. The verification CGF submits a distributed host task though, and when ran on multiple nodes, it produces overlapping writes to the buffer.To keep distributed verification, this PR replaces the buffer with a host object (matmul even had a comment left explaining that different processes can disagree on their exit code if part of the verification fails!).
Also, since #163 moved matmul from a
buffer<bool>
tobuffer<bool, 0>
, I decided to givedistr_io
the 0-dimensional verification-buffer treatment so we still have an example covering this pattern. That application is sane since verification is done in a master-node host task, which can legally do an all-write access.