Block Scheduler

Hello Everyone,

Just like thread warp schedulers, is there any block scheduler ?

And,is the scheduling done by this block dynamic ?

Say, N blocks are scheduled on an SM.
What happens after the first block completes the execution. Does the block scheduler bring in a new block immediately to fill up the just emptied block slot on the SM.
Or
Does the scheduler waits till all the N blocks on the SM are executed and then schedules another N blocks.

This will matter in case, there are some blocks which do not perform any computation and this is known only at runtime depending on some random input.

Thanks and Regards

On pre-Fermi cards all blocks on a SM have to finish executing before new blocks can be scheduled. Fermi probably has a more sophisticated scheduler, but this is only speculation for now.

If you have time, check http://forums.nvidia.com/lofiversion/index.php?t94734.html

Those were pre-fermi days… and I dont know what has changed with FERMI. Hopefully they got the scheduling optimal…

Thanks Sarnath ! That was indeed time taking …but helped a ton !!