Visualizing SPMD on SIMT Hardware

See how high-level code becomes a "Warp" of threads sharing one Program Counter.

1 SPMD Program (Source)

// Executed by every thread
void kernel() {
load r1, A[i]; // PC X
load r2, B[i]; // PC X+1
add r3, r1, r2; // PC X+2
store C[i], r3; // PC X+3
}

Controls

PC: X

2 Hardware Lanes (The Warp)

Active Instruction

Status: Ready

Click "Step Instruction" to see how the hardware fetches data for all threads simultaneously.