Marcan la potencia general de la GPU, y estos núcleos son denominados por NVIDIA como «CUDA Cores» o núcleos CUDA. Destapamos el chip de NVIDIA para comprender qué son estos núcleos y qué características ofrecen.
Unos los llaman shaders, otros stream proccesors, EUs… NVIDIA los llama CUDA Cores y una de las razones es por su relación con CUDA. Este tutorial pinta «algo técnico» porque cuando nos adentramos a averiguar el funcionamiento de un chip, en seguida salen mil conceptos complejos de abordar. Vamos a intentar explicaros qué son estos núcleos que usa NVIDIA en sus tarjetas gráficas.
Índice de contenidos
Qué son los CUDA Cores
En primer lugar, vamos a definir qué es CUDA porque ya sabemos que núcleos es «cores» en inglés, pero, ¿de dónde viene CUDA?
CUDA (Compute Unified Device Architecture) es una plataforma de computación paralela y un modelo de programación que permite incrementos dramáticos en el rendimiento de computación al aprovechar la potencia de la unidad de procesamiento de gráficos (GPU).
NVIDIA
NVIDIA definía así en su blog para desarrolladores qué era CUDA, una plataforma que se introdujo en 2006 y que sea ha usado en numerosas GPUs de escritorio, portátiles, profesionales, para superordenadores, etc. CUDA es compatible con Windows, Linux y Mac OS y es una plataforma que encontramos en las gamas GeForce, Quadro y Tesla.
Así que, los NVIDIA CUDA Cores (o núcleos CUDA) son unos procesadores paralelos que se encargan de procesar todos los datos que entran y salen de la GPU, realizando cálculos gráficos cuyo resultado los ve el usuario final. Se encuentran dentro de la GPU (como si de una CPU se tratase) y sus tareas cotidianas son renderizar objetos 3D, dibujar modelos, comprender y resolver la iluminación y sombreado de una escena, etc.
Esa «computación paralela» permite a los núcleos trabajar juntos para completar una misma tarea. De este modo, ayudan bastante a la CPU a la hora de manejar datos porque ayudan a ésta en dicha tarea o varias tareas similares al mismo tiempo.
Por tanto, igual que encontramos núcleos dentro de las CPUs, los encontramos en la tarjetas gráficas, aunque en este último caso son mucho más pequeños y más numerosos que los que vemos en un procesador AMD o Intel. La diferencia de un núcleo CUDA con un núcleo CPU está en que el primero no es tan sofisticado.
Y es que el procesamiento de gráficos supone la necesidad de realizar muchos cálculos complejos al mismo tiempo, de ahí que las tarjetas gráficas equipen muchos núcleos CUDA/ EUs/Stream Processors. Decimos esto último porque AMD Radeon llama a sus núcleos gráficos Stream Processors.
Su importancia en los videojuegos
Seamos sinceros, muchos estáis aquí porque os encantan los videojuegos y queréis/tenéis una tarjeta gráfica NVIDIA, pero, ¿cuál es su importancia en los videojuegos?
Si nos fijamos en la ficha técnica de las familias GTX 1000 (Pascal), RTX 2000 (Turing) o RTX 3000 (Ampere), los núcleos CUDA van ascendiendo conforme subimos de gama. Esto ocurre porque a más núcleos CUDA, más potencia gráfica. Hay que tener en cuenta que el funcionamiento de los CUDA Cores:
- Llega una tarea a realizar y se asigna a un núcleo, el cual trabaja para completar la tarea.
- Mientras ocurre esto, otro núcleo cercano realizará otro trabajo similar.
La consecuencia de ello es que no hay colas: un núcleo no tiene que esperar a que el otro finalice su trabajo para completar la otra tarea. Y es que los núcleos CUDA solo se centran en tareas gráficas, entre las que destacan:
- Renderizado de objetos y escenas.
- Iluminación y sombras.
- Efectos 3D.
- Detalles.
Cuando estamos en una pantalla de carga (el mítico «loading…») los núcleos CUDA están trabajando creando el escenario, dibujando los personajes, dejando a punto la iluminación, etc. Es cierto que aquí también trabaja el disco duro y la CPU, pero creo que se entiende lo que quiero decir.
Su trabajo no acaba con la pantalla de carga, sino que está continuamente realizando cálculos conforme nos movemos por el entorno. El famoso trazado de rayos (Ray Tracing) requiere de mucha potencia gráfica por todos los cálculos complejos que supone a la tarjeta gráfica; de ahí que NVIDIA decidiera diseñar los RT Cores.
De esta manera, cuantos más núcleos CUDA tengamos, más potencia gráfica tendremos y, por ende, más capacidades tiene la GPU para darnos escenas más realistas en tiempo real.
Stream Processors vs CUDA Cores
Por otro lado, tenemos los Stream Processors de AMD Radeon, que cumplen el mismo fin de los NVIDIA CUDA Cores, pero de diferentes maneras. No son iguales porque hay muchas cosas distintas en la ejecución de ambas compañías:
- Distinto DIE y distinto proceso de fabricación (nm).
- Distintas arquitecturas (RDNA 2 y Ampere, por ejemplo).
- Distinto tamaño de núcleos, así como otros núcleos dentro de la misma GPU:
¿Es igual de potente un núcleo CUDA y un Stream Processor? Eso es algo que no se sabe y que es equivalente a comparar un núcleo AMD con un núcleo Intel. Todo el hardware es optimizado por las distintas arquitecturas de las marcas, así que hay muchos factores a evaluar.
Por todo esto, hay que tener en cuenta lo siguiente a la hora de enfrentar Stream Processors vs NVIDIA CUDA Cores:
Stream Processors |
NVIDIA CUDA Cores |
Más pequeños, más simples y frecuencia más baja |
Más grandes, más complejos y frecuencias más altas |
Compilador AMD más optimizado |
Compilador CUDA con menos optimización |
GPUOpen en AMD |
GameWorks mucho y plataforma CUDA atractiva para desarrolladores |
A fin de cuentas, ambas opciones son núcleos para procesamiento paralelo y su funcionamiento está estrechamente relacionado con la arquitectura que usen.
¿Cuántos núcleos CUDA son necesarios?
Depende de nuestras necesidades, aunque no solo hay que fijarse en los núcleos CUDA a la hora de elegir una tarjeta gráfica NVIDIA. De hecho, sería un error dejarnos llevar únicamente por los CUDA Cores que tenga la GPU que estemos buscando, sino que hay que tener en cuenta otros datos como:
- RT Cores, especialmente relacionado con el Ray Tracing.
- Memoria VRAM.
- Ancho de banda y bus de memoria.
- Frecuencias.
¿No sabes qué GPU comprar para tener un buen rendimiento? Nuestro consejo es que echéis un vistazo a las reviews del modelo que más te interese porque en ellas probamos los FPS que consigue la GPU en un juego, así como las puntuaciones en las pruebas sintéticas.
Conclusiones
En definitiva, en una GPU NVIDIA encontraremos muchos CUDA Cores (de 3000 a más de 10.000 en las últimas generaciones) y se encargan de tareas gráficas, asistiendo a la CPU para brindar al usuario una experiencia gaming a la altura.
Hemos señalado qué son, cómo funcionan (a grosso modo) y para qué sirven, así que lo básico ya lo tenemos, ¿no? El número de CUDA Cores solo va a ascender, solo hay que fijarse en el cambio de Turing a Ampere: la NVIDIA RTX 2080 Ti equipaba 4352 y la RTX 3090 equipa 10.496.
Lo bueno es que los CUDA Cores no crecen solos, también lo hacen los RT Cores, Tensor Cores y memoria VRAM. De este modo, se consigue un aumento global de FPS de una generación a otra, no solo incrementando más CUDA Cores.
Esperamos que os haya sido de interés este artículo. Si tenéis alguna duda, dejadla abajo y os responderemos en breve.
Te recomendamos las mejores tarjetas gráficas del mercado
¿Conocíais el funcionamiento de estos núcleos? ¿Habéis comprendido su importancia después de leer el artículo?