@Gregory Diamos & all: Thanks for the reply. I also had the same belief, but you clarified it. Also, we know that the GIGA thread engine schedules the blocks serially or out of order. But till that time where are the blocks residing. The ones which are active are stored in the SM (which has regs, shared memory, etc). What about the other blocks where are they residing ( any memory location).
My confusion is let’s say we have an image 2d, which has 4832 blocks and each block has 256 threads (16x16) which is way more than all the SM occupancy. Now, each thread represents a pixel, which carries an intensity value. The thread is a part of one of the 4832 blocks.
Now, if only some of these blocks are executed on the SMs available. Then till the other blocks wait, which needs to hold the mapping of the respective pixel, where are they residing or storing their respective mapping.
I hope I am trying to put my confusion/doubt.
If not I shall try again, but help is highly appreciated, it’s bugging me a lot.