-
Notifications
You must be signed in to change notification settings - Fork 19
Derive the device_task_t from a parsec_object_t #694
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
base: master
Are you sure you want to change the base?
Derive the device_task_t from a parsec_object_t #694
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>
Co-authored-by: Aurelien Bouteiller <bouteill@icl.utk.edu>
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
|
New problem: all tests with 2gpus appear to leak/over-retain gpu memory |
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>
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>
|
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. |
|
I saw a notification with a lldb stack trace but I can't find it here. Weird! Anyway, it seemed to indicate that the |
|
…rom_parsec_object
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.