Derive the device_task_t from a parsec_object_t#694
Open
bosilca wants to merge 8 commits intoICLDisco:masterfrom
Open
Derive the device_task_t from a parsec_object_t#694bosilca wants to merge 8 commits intoICLDisco:masterfrom
bosilca wants to merge 8 commits intoICLDisco:masterfrom
Conversation
Introduce the parsec_gpu_flow_info_s info structure to combine the flow information needed by the GPU code. Allow the standard device tasks (aka. parsec_gpu_dsl_task_t) to contain the flow_info array inside the task, while allowing other DSL to have their own type of device task (derived from parsec_gpu_task_t) Enhance the mechanism to release the device tasks via the release_device_task function pointer. The device code will call this function to let the DSL decide how to device task release should be handled. Some DSL (PTG and DTD as of now) will call OBJ_RELEASE on it (and the free is automatic), while others (TTG as an example) will have its own handling. Signed-off-by: George Bosilca <gbosilca@nvidia.com>
abouteiller
reviewed
Dec 11, 2024
Co-authored-by: Aurelien Bouteiller <bouteill@icl.utk.edu>
abouteiller
previously approved these changes
Dec 12, 2024
This comment was marked as resolved.
This comment was marked as resolved.
abouteiller
added a commit
to abouteiller/dplasma
that referenced
this pull request
Jan 2, 2025
1 task
This comment was marked as resolved.
This comment was marked as resolved.
Contributor
|
New problem: all tests with 2gpus appear to leak/over-retain gpu memory |
devreal
added a commit
to devreal/ttg
that referenced
this pull request
Jan 9, 2025
With ICLDisco/parsec#694 PaRSEC will support dyanmically allocated flows based on the application-managed gpu task structure. This allows us to ditch the extra task class structure and lets us cut down loops over MAX_PARAM_COUNT. Signed-off-by: Joseph Schuchart <joseph.schuchart@stonybrook.edu>
devreal
added a commit
to devreal/ttg
that referenced
this pull request
Jan 9, 2025
With ICLDisco/parsec#694 PaRSEC will have a proper initializer for gpu task structures but until then we need to properly initialize this field to something non-zero. Signed-off-by: Joseph Schuchart <joseph.schuchart@stonybrook.edu>
devreal
requested changes
Jan 10, 2025
Contributor
|
This is now used in TESSEorg/ttg#307 and seems to work (except for #694 (comment)). I'd like to see this go in asap. |
Contributor
Author
|
I saw a notification with a lldb stack trace but I can't find it here. Weird! Anyway, it seemed to indicate that the |
Contributor
|
abouteiller
reviewed
Feb 13, 2025
abouteiller
reviewed
Feb 13, 2025
…rom_parsec_object
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
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.
Introduce the parsec_gpu_flow_info_s info structure to combine the flow information needed by the GPU code.
Allow the standard device tasks (aka. parsec_gpu_dsl_task_t) to contain the flow_info array inside the task, while allowing other DSL to have their own type of device task (derived from parsec_gpu_task_t)
Enhance the mechanism to release the device tasks via the release_device_task function pointer. The device code will call this function to let the DSL decide how to device task release should be handled. Some DSL (PTG and DTD as of now) will call OBJ_RELEASE on it (and the free is automatic), while others (TTG as an example) will have its own handling.