Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

If BP5 parameter Threads is 0 (default), calculate the number of thre… #3247

Merged
merged 3 commits into from
Jun 9, 2022

Conversation

pnorbert
Copy link
Contributor

@pnorbert pnorbert commented Jun 8, 2022

…ads from the available hardware threads and number of processes per compute node, but limit to 16 max. Added doc.

pnorbert added 3 commits June 8, 2022 15:15
…ads from the available hardware threads and number of processes per compute node, but limit to 16 max. Added doc.
…t guaranteed to be thread-safe. Fix Engine.BP.WriteAppendReadADIOS2 test where one variable was put twice, leading to simultaneous memcpy calls on the same target memory at reading.

Note: The current multithreaded read in BP5 leads to concurrent memcpy calls under NdCopy(). If two blocks in the dataset refer to the same cell in space, there could be data race in two memcpy() calls to put the same cell's value from two incoming blocks. By definition, which value ends up in the read result, is undefined, so as long as the two memcpy calls will result in one of the values placed, it is all good. However, if concurrent memcpy calls result in random unrelated values placed in memory, then the read result would be invalid.
@pnorbert pnorbert merged commit 62a3372 into ornladios:master Jun 9, 2022
@pnorbert pnorbert deleted the bp5-multithreaded-read-autocalc branch June 9, 2022 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant