-
Notifications
You must be signed in to change notification settings - Fork 13
PaRSEC TTG: Offload stream reductions #256
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
Open
devreal
wants to merge
10
commits into
TESSEorg:master
Choose a base branch
from
devreal:offload-stream-reductions
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
Author
|
@therault the tests are failing because the madness tag is unavailable. Do you have a tag to use instead? |
Contributor
|
31b2470ca722a6a2d84d4de08d32fb72ae8fdeda
therault/madness@31b2470
…On Fri, May 26, 2023 at 2:45 PM Joseph Schuchart ***@***.***> wrote:
@therault <https://github.com/therault> the tests are failing because the
madness tag is unavailable. Do you have a tag to use instead?
—
Reply to this email directly, view it on GitHub
<#256 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABFEZNSFGJ2BHTDXHUSORLDXID223ANCNFSM6AAAAAAYQR7TLA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
7bd063b to
ab86822
Compare
e34d232 to
35a1002
Compare
This is needed to work-around missing support for offsetof in virtual classes. Instead we store the pointer to the derived class inside the non-virtual base class. This allows us to store data copies in parsec lifo or lists and get the virtual derived object back. Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
When we encounter a streaming terminal we schedule a dedicated reducer task. Subsequent inputs are put into a LIFO. Once the reducer task runs it will process all available inputs for that terminal but will not block waiting for all inputs. In the worst case, we create N tasks (one for each input), likely less. Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
The thread-local variable was a hack that is not needed anymore, and apparently didn't work properly. Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
…puts In the PaRSEC backend, reducer tasks will be treated as any other task and be deferred if there are readers on their first input. All other inputs are read-only and will be handled that way. This avoids extra copies if there are no other writers on these copies. Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
dd5c0e7 to
68a9852
Compare
a2878ce to
a49eb91
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
When we encounter a streaming terminal we schedule a dedicated
reducer task. Subsequent inputs are put into a LIFO. Once the
reducer task runs it will process all available inputs for that
terminal but will not block waiting for all inputs. In the
worst case, we create N tasks (one for each input), likely less.
Currently we use the priority of the task we stream into but this should be revisited, maybe a higher priority could be useful.