Take a task out of an Argobot pool?
Hi all, I need to pull a task out of an Argobot pool and execute it “now”, in the current thread. Any suggestions for the best way to do that? I am thinking about calling ABT_task_cancel() to get it out of the pool, then just call the task_func (that we gave to ABT_task_create) directly from the place we took it out of the pool. Will that work? Is there a better way? Thanks, Quincey
Hi Quincey, What you are describing is the role of the scheduler. The scheduler is the one that is responsible for pulling user-level threads (ULTs) and tasklets from pools and executing them. Think of a scheduler as a Pthread. A quick description of how schedulers work can be found at https://github.com/pmodels/argobots/wiki/Scheduler. You can also checkout an example of how a work stealing scheduler could be implemented in `test/basic/sched_user_ws.c` manually. Halim www.mcs.anl.gov/~aamer On 2/27/19 10:57 AM, Quincey Koziol via discuss wrote:
Hi all, I need to pull a task out of an Argobot pool and execute it “now”, in the current thread. Any suggestions for the best way to do that? I am thinking about calling ABT_task_cancel() to get it out of the pool, then just call the task_func (that we gave to ABT_task_create) directly from the place we took it out of the pool. Will that work? Is there a better way?
Thanks, Quincey _______________________________________________ discuss mailing list [email protected] https://lists.argobots.org/mailman/listinfo/discuss
Hi Halim, Excellent, thanks for the pointer! Quincey
On Feb 27, 2019, at 11:27 AM, Amer, Abdelhalim via discuss <[email protected]> wrote:
Hi Quincey,
What you are describing is the role of the scheduler. The scheduler is the one that is responsible for pulling user-level threads (ULTs) and tasklets from pools and executing them. Think of a scheduler as a Pthread. A quick description of how schedulers work can be found at https://github.com/pmodels/argobots/wiki/Scheduler. You can also checkout an example of how a work stealing scheduler could be implemented in `test/basic/sched_user_ws.c` manually.
Halim www.mcs.anl.gov/~aamer
On 2/27/19 10:57 AM, Quincey Koziol via discuss wrote:
Hi all, I need to pull a task out of an Argobot pool and execute it “now”, in the current thread. Any suggestions for the best way to do that? I am thinking about calling ABT_task_cancel() to get it out of the pool, then just call the task_func (that we gave to ABT_task_create) directly from the place we took it out of the pool. Will that work? Is there a better way?
Thanks, Quincey _______________________________________________ discuss mailing list [email protected] https://lists.argobots.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list [email protected] https://lists.argobots.org/mailman/listinfo/discuss
participants (2)
-
Amer, Abdelhalim -
Quincey Koziol