Reputation: 3207
say I have 64 threadds in a kernel
__global__ void kernel( ... )
{
int i = threadIdx.x;
... ...
if (i < 32)
{
... ...
}
}
basically after a certain point, I won't use threads 32 to 63 any more. What are they gonna do then? Are they gonna still consume processor power, or they are just dead.
Upvotes: 1
Views: 362
Reputation: 2704
Every thread in a half-warp (or maybe warp depending on your architecture) executes the same instruction at the same time, so all the other threads in the half-warp continue to run, just with their output suppressed. All other half-warps (or maybe warps) are released back to the system as resources.
Upvotes: 0
Reputation: 48330
They simply will not produce anymore instruction to be issued and executed. Let's say "Dead".
Upvotes: 3