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

Thread decompose() #3

Open
mrzv opened this issue May 23, 2015 · 0 comments
Open

Thread decompose() #3

mrzv opened this issue May 23, 2015 · 0 comments
Assignees
Labels

Comments

@mrzv
Copy link
Member

mrzv commented May 23, 2015

Issue by Dmitriy Morozov
Friday Nov 14, 2014 at 18:20 GMT


Currently, decompose() calls the create callback serially. This is useful because it allows one to call MPI functions from create(), where the most common use-case is calling MPI-IO functions to load the data into the block. However, since it's desirable for IO-efficiency to combine the loading of the data with the first computation, it is common to perform initial local computation inside create(). When DIY is allowed to use multiple threads, this creates a problem since it forces serial execution of the local computation.

Proposed solution. Pass two callbacks to decompose(): serial and parallel. The first one would be called in serial and is allowed to use MPI routines directly. The second one will be spun into a new thread, with multiple threads executing at the same time. It's allowed to use only DIY routines for communication.

Note: this would require much tighter coupling between Master and decompose() than exists now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant