This can be thought of as analogous to ISPC tasks, where you create more number of tasks than there are number of cores, and once a core finishes executing its current task, it picks up the next task from the queue of available tasks.
coffee7
An example of what @ZoSo said is Assignment 1, Program 3, Part 2. We improved the mandelbrot_ispc code by breaking up the image into many blocks and creating one task per block.
This can be thought of as analogous to ISPC tasks, where you create more number of tasks than there are number of cores, and once a core finishes executing its current task, it picks up the next task from the queue of available tasks.
An example of what @ZoSo said is Assignment 1, Program 3, Part 2. We improved the mandelbrot_ispc code by breaking up the image into many blocks and creating one task per block.