parsec icon indicating copy to clipboard operation
parsec copied to clipboard

Add support for batched tasks.

Open bosilca opened this issue 5 months ago • 0 comments

The idea is the following:

  • tasks incarnations (aka. BODY) can be marked with the "batch" property allowing the runtime to provide the task with the entire list of ready tasks of the execution stream instead of just extracting the head.
  • this list of ready tasks is in fact a ring, that can then be trimmed by the kernel and divided into the tasks to be batch and the rest. While the batch group will be submitted for execution (user responsibility), the rest of the tasks will be added back into the stream pending list, in the order in which they were provided in the ring. This mechanism also allow the user to reorder the tasks based on some user-level criteria.
  • the kernel also needs to provide a callback into the gpu_task complete_stage, such that the runtime can call the specialized function able to complete all batched tasks.

bosilca avatar Sep 10 '24 03:09 bosilca