Major points are:
The scheduler repeatedly ask for tasks until the op says it is done
Tasks can have dependencies on previously submitted tasks back to the previous generation of tasks (last set of tasks submitted)
Tasks are staged functions that may ask for multiple threads. They may also interact with some storage linked with the dynamic op (so they can store data that other tasks can see, as well as tell the dynamic op there is more work to be done)
@kjbrown I need your help with the runtime side of this
@TiarkRompf your name is on the Google Doc so I'm mentioning you here
Delite should support dynamic task management.
We can support various styles, including task queue and fork/join. For now, I only need a task queue type of dynamic task.
I propose a task queue op.
Badly written code here: https://gist.github.com/1070261
Major points are: The scheduler repeatedly ask for tasks until the op says it is done Tasks can have dependencies on previously submitted tasks back to the previous generation of tasks (last set of tasks submitted) Tasks are staged functions that may ask for multiple threads. They may also interact with some storage linked with the dynamic op (so they can store data that other tasks can see, as well as tell the dynamic op there is more work to be done)
@kjbrown I need your help with the runtime side of this @TiarkRompf your name is on the Google Doc so I'm mentioning you here