BLOG

¿Qué es un núcleo CUDA y cómo funciona?

Última actualización:

  Esta página ha sido traducida automáticamente por DeepL. Switch to English

Un núcleo CUDA es una de las diminutas unidades matemáticas que se encuentran dentro de una GPU NVIDIA y que realiza el trabajo pesado para los gráficos y el cálculo paralelo. Cada núcleo se encuentra dentro de un bloque más grande denominado multiprocesador de streaming (SM) y, en las modernas GPU GeForce «Blackwell», cada SM contiene 128 núcleos CUDA. Por eso verás recuentos totales como 21 760 núcleos CUDA en una RTX 5090. El chip simplemente tiene muchos SM, cada uno de ellos repleto de esos núcleos.

CUDA (la plataforma de computación paralela de NVIDIA) es la parte del software: permite que las aplicaciones y los marcos envíen de manera eficiente tareas masivas paralelas de renderización, inteligencia artificial y simulación a esos núcleos.

NVIDIA-Tesla-Module

¿Cómo funcionan los núcleos CUDA?

Piensa en una GPU como una fábrica diseñada para trabajos a gran escala. Los núcleos CUDA gestionan el trabajo en grupos de warps de 32 subprocesos que ejecutan la misma instrucción en diferentes datos (un modelo que NVIDIA denomina SIMT). Así es como las GPU procesan miles de operaciones a la vez. Cada SM tiene programadores que mantienen muchos warps en funcionamiento para ocultar la latencia de la memoria y mantener esos núcleos ocupados.

Una imagen mental útil:

  • Núcleo CUDA = un trabajador individual (realiza operaciones aritméticas como sumas y multiplicaciones).
  • SM = un espacio de trabajo con sus propios programadores, cachés, unidades de funciones especiales, Tensor Core(s), etc.
  • GPU = toda la fábrica, con muchos SM funcionando en paralelo.

Núcleos CUDA frente a núcleos CPU (y otros núcleos GPU)

  • No son núcleos de CPU: un núcleo CUDA es un carril aritmético más sencillo optimizado para el rendimiento, no un núcleo de CPU grande y ajustado para la latencia de uso general. Las GPU escalan al tener muchos de estos pequeños carriles trabajando juntos. (La guía de programación de CUDA explica este diseño orientado al rendimiento).
  • A diferencia de los núcleos GPU especializados:
    • Los núcleos Tensor son motores matemáticos matriciales que potencian la IA/ML y funciones como DLSS.
    • Los núcleos RT aceleran el trazado de rayos (recorrido BVH, pruebas de rayos/triángulos).

Estas descargan tareas específicas para que los núcleos CUDA puedan centrarse en el sombreado/cálculo.

nvidia-workstation-rtx-pro-5000-og-1200x630

Crédito de la imagen: NVIDIA

¿Más núcleos CUDA siempre significan más rendimiento?

Por lo general, pero no por sí solos. La arquitectura es muy importante. Por ejemplo, la generación Ampere de NVIDIA duplicó el rendimiento FP32 por SM en comparación con Turing, por lo que la potencia «por núcleo» cambió entre generaciones. Ada también amplió considerablemente las cachés (en particular la L2), lo que aumenta muchas cargas de trabajo sin cambiar el número de núcleos. En resumen: comparar el número de núcleos CUDA entre diferentes generaciones no es como comparar manzanas con manzanas.

Otros factores importantes:

  • Velocidades de reloj y margen de potencia (la velocidad a la que funcionan los núcleos).
  • Ancho de banda de memoria y tamaños de caché (alimentación de los núcleos).
  • Uso de núcleos Tensor/RT (la IA y el trazado de rayos descargan trabajo de los núcleos CUDA).
  • Controladores y software (la eficacia con la que una aplicación utiliza la GPU a través de CUDA).

¿Qué hacen realmente los núcleos CUDA en la práctica?

  • Juegos/gráficos: Ejecutan programas de sombreado (vértices, píxeles, cálculo) en segundo plano. Los núcleos RT se encargan de los pasos más pesados del trazado de rayos; los núcleos CUDA siguen realizando gran parte del sombreado y el cálculo a su alrededor.
  • Creación de contenido y simulación: solucionadores físicos, eliminadores de ruido, núcleos de renderizado, efectos de vídeo... Muchos de ellos están diseñados para aprovechar el modelo paralelo de CUDA.
  • IA/ML: Las operaciones tensoriales se ejecutan en los núcleos tensoriales, pero gran parte del preprocesamiento, el posprocesamiento y el trabajo no matricial sigue ejecutándose en los núcleos CUDA.

¿Cuántos núcleos CUDA necesito?

Una regla general amistosa:

  • Juegos con alta velocidad de fotogramas por segundo (FPS) en 1080p-1440p: ten en cuenta toda la GPU (arquitectura, frecuencias, memoria, funciones RT/Tensor), no solo el número de núcleos. Las pruebas de rendimiento son más importantes que las cifras brutas.
  • 4K o trazado de rayos intensivo: te beneficiarás de más núcleos SM/CUDA y potentes bloques RT/Tensor, además de ancho de banda y caché.
  • IA/computación: el número de núcleos ayuda, pero la capacidad de Tensor Core, el tamaño de la VRAM y el ancho de banda de la memoria suelen determinar el rendimiento.

Si quieres comprobar rápidamente la escala, la RTX 5090 cuenta con 21 760 núcleos CUDA, lo que muestra cómo NVIDIA calcula los núcleos por SM en muchos SM. Pero, de nuevo, las mejoras en el rendimiento provienen del diseño total, no solo del recuento.

NVIDIA-Blackwell-Ultra-GB300

Crédito de la imagen: NVIDIA

¿Necesito algún software o cable especial? (El «HDMI para 4K» de CUDA)

No necesitas un cable especial, pero necesitas el software adecuado. CUDA es la plataforma de NVIDIA; las aplicaciones la utilizan a través de controladores, kits de herramientas y bibliotecas. Muchas aplicaciones y marcos populares ya están diseñados para aprovechar la aceleración CUDA una vez que se instalan los controladores NVIDIA y (cuando es necesario) el kit de herramientas CUDA. Las aplicaciones compatibles simplemente... lo utilizan.

¿Qué GPU son compatibles con CUDA?

CUDA funciona en GPU NVIDIA compatibles con CUDA en todas las líneas de productos (GeForce/RTX para juegos y creación, RTX profesional y GPU para centros de datos). La guía de programación señala que el modelo se adapta a muchas generaciones de GPU y referencias; NVIDIA mantiene una lista de GPU compatibles con CUDA y sus capacidades de cálculo.

¿Un núcleo CUDA es lo mismo que un «núcleo de sombreado»?


En el lenguaje cotidiano sobre GPU, sí, en las GPU NVIDIA, los «núcleos CUDA» se refieren a las ALU FP32/INT32 programables que se utilizan para el sombreado y el cálculo general dentro de cada SM.



¿Por qué varía tanto el número de núcleos CUDA entre generaciones?


Porque las arquitecturas evolucionan. Ampere cambió las rutas de datos FP32 (más trabajo por ciclo de reloj) y Ada renovó las cachés para que el rendimiento no escale linealmente con el número de núcleos.



¿Qué es una urdimbre?


Un grupo de 32 subprocesos que se ejecutan en sincronía en el SM. Las aplicaciones lanzan miles de subprocesos; la GPU los programa como warps para mantener el hardware ocupado.



¿Los núcleos CUDA ayudan con la IA?


Sí, pero los grandes aceleradores de la IA moderna son los núcleos Tensor. Los núcleos CUDA siguen gestionando gran parte del trabajo circundante en esas canalizaciones.