Reputation: 457
Suppose a thread block contains 1000 threads and a Streaming multiprocessor(SM) can only execute 500 threads, then my thread block should be mapped to 2 or more SM's. then how can they access the shared memory?
Upvotes: 1
Views: 536
Reputation: 72342
.....then my thread block should be mapped to 2 or more SM's.
That isn't correct. Blocks are only ever mapped to a single multiprocessor for their complete lifecycle. It is never possible for a block to be split over multiple SM.
If you try and launch a kernel where the block size or resource requirements exceeds that of the multiprocessor on which it must run, the launch will fail and the kernel will never run at all.
Upvotes: 3