Lección 10: Warps y SIMT: la unidad de 32 hilos
El hardware de la GPU no planifica los hilos uno por uno, sino en grupos fijos de 32 hilos llamados warp. Los 32 hilos de un warp ejecutan la misma instrucción al mismo tiempo, en lockstep — este es el corazón del modelo SIMT (Single Instruction, Multiple Threads). El tamaño del warp es 32 en todas
Piensa en remeros en botes de 32. Todos en un mismo bote jalan el remo en el mismo instante, con el mismo ritmo. No puedes cambiar el tamaño del bote a 30 o 40 — siempre es 32. Tu asiento en el bote es el lane, y el número de bote es el warp.
- warp
- Un grupo de 32 hilos que el hardware planifica y ejecuta juntos en lockstep. El tamaño del warp está fijo en 32.
- SIMT
- Single Instruction, Multiple Threads — los 32 hilos de un warp ejecutan la misma instrucción en el mismo instante.
- lane
- La posición de un hilo dentro de su warp: lane = threadIdx.x % 32, un valor de 0 a 31.
- warpId
- El id del warp al que pertenece un hilo dentro del bloque: warpId = threadIdx.x / 32 (división entera).