A thread is not an array index
An image is 11 pixels wide, yet CUDA launches 12 threads across it. Which threads own pixels, and why can a bad coordinate still give a valid-looking address?
Read the explanation →Understand how threads find their data, how a block shares results, and how a line of CUDA becomes machine instructions. Each reading follows one example. No GPU or setup is required.
x = 10 owns the last pixel. x = 11 has no pixel.
Read in order or follow a question.
An image is 11 pixels wide, yet CUDA launches 12 threads across it. Which threads own pixels, and why can a bad coordinate still give a valid-looking address?
Read the explanation →Two threads agree on where to exchange a value. What ensures that the value is there by the time the other thread reads it?
Read the explanation →Follow one increment from a line of CUDA through virtual registers to a native instruction, and see which questions the listing can answer.
Read the explanation →Short definitions, with a link to an example that shows why each term matters.
Ready to profile and optimize a kernel? Visit Performance Lab ↗