HardwareRuta Optimización
Warp y SIMT
Leerlo en el Capítulo 4 · checkpoint +50 XP →
32 hilos que ejecutan al unísono. Las ramas divergentes y los accesos dispersos a memoria cuestan rendimiento real.
Las GPU de NVIDIA ejecutan los hilos en grupos de 32 llamados warps. Es Single Instruction, Multiple Threads (SIMT): el warp comparte un flujo de instrucciones y cada hilo tiene sus propios registros.
Dos consecuencias dominan el rendimiento de los kernels:
- Divergencia de ramas: si los hilos de un warp toman caminos distintos en un
if, el warp ejecuta ambos caminos con carriles enmascarados. Mantén el control de flujo uniforme dentro del warp cuando puedas. - Coalescencia de memoria: cuando los 32 hilos leen direcciones contiguas, el hardware las une en unas pocas transacciones anchas. Los accesos dispersos multiplican el tráfico de memoria. Ver coalescencia de memoria.
Los warps también son la unidad que el planificador hace malabares para ocultar la latencia. Más warps residentes (mayor ocupación) le dan más opciones, hasta que se agotan los registros y la memoria compartida.
Relacionado
Fuentes y lecturas adicionales
- CUDA C++ Programming Guide
- PRACE Best Practice Guide – GPGPU — GPU programming and tuning practice for HPC
- Modal GPU Glossary — hardware and software vocabulary
Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.