Tarjetas Nvidia pasadas y presentes desmontando mitos

El siguiente escrito está basado en un artículo publicado originalmente por chw.net que yo personalmente he intentado adaptar tomando algunas de sus partes. Este escrito no pretende en ningún caso rivalizar con el artículo original sino destacar algunos puntos sumamente interesantes tratando de explicarlos de una forma más accesible si cabe. Pido disculpas de antemano si al realizar la conversión he cometido algún error de interpretación que pueda inducir a error.

Cita:

fermi: una mirada al pasado inmediato de Nvidia.

Hablar del pasado de Nvidia es hablar de fermi. Se han dicho muchas cosas sobre fermi, pero es importante saber que nos a acompañado tanto en las series de juegos (GTX) como en las series profesionales (Quadro, tesla) desde hace mucho tiempo. De hecho, podemos encontrar tarjetas tan comunes como la GTX 480, la GTX 570 o las Quadro actuales como la Quadro 600 o la Quadro 6000.

Pero para conocerla mejor es importante entender la base, así que, veamos un poco por encima cómo funciona.

Fermi esta basada en unidades de cálculo llamadas streaming multiprocessors (sm), que engloban entre otros elementos a los shader processors que Nvidia llama Cuda Cores, o núcleos Cuda.

Entonces de ahora en adelante estableceremos a Grosso modo la siguiente equivalencia: shader processors = Cuda Cores (núcleos Cuda).

Hay que saber que no todos los Cuda Cores son iguales. Tenemos dos grupos.

Cita:

– Cuda Cores con capacidad de cálculo de enteros (int) y coma flotante de 32 bits (fp32)
– Cuda Cores con capacidades de cálculo de enteros y coma flotante de 32 y 64 bits (fp32/64). Observamos que en este punto incorporan además los cálculos complejos de 64 bits.


Por decirlo de forma sencilla, existen núcleos Cuda que son capaces de realizar cálculos sencillos (fp32), y existen otros algo más especiales que son capaces de realizar cálculos sencillos además de cálculos complejos (fp32/64).

Los que cuentan a la hora de trabajar y sobre todo a la hora de renderizar por GPU usando la gráfica son los Cuda Cores con capacidad de realizar cálculos complejos (fp64).

Bien, todo esto parece algo complejo, así que, prestemos atención a lo que realmente nos va a condicionar.

Es importante señalar que en fermi Nvidia limita artificialmente a sus GPU GeForce y Quadro a un total de 64 operación FP 64 (cálculos complejos) por ciclo, y que sólo sus tarjetas tesla están exentas de esta limitación pudiendo trabajar con todo su potencial. Esta limitación se traduce en 1/8 de su potencial FP 32.

Pero esto es aún peor cuando hablamos de la gama media y baja donde las tarjetas sólo pueden procesar 16 operación FP 64. Esta limitación se traduce en 1/12 de su potencial FP 32.

Así que Nvidia limitó sus tarjetas GTX y Quadro para que no compitieran con sus tesla. Esto es algo que Nvidia reforzaría con su nueva arquitectura: kepler. Veamos un poco el presente.
kepler: el presente de Nvidia.

Si hablamos del presente tenemos que hablar de kepler. En la serie de juegos GTX nos encontramos con la serie 600 y tarjetas tan famosas como la GTX 670 o GTX 680, y en Quadro, por ejemplo, veremos la nueva k5000.

Kepler supone un cambio radical con respecto a la arquitectura anterior, fermi. Nvidia da un giro radical y reduce el número de transistores para abaratar costes potenciando las tarjetas de juegos con unidades de cálculo sencillo, pero penalizando los cálculos complejos y por tanto su capacidad para trabajar, por ejemplo, renderizando.

La intención de Nvidia es clara, separar su serie de juegos y gama media Quadro de la gama profesional tesla dejando a estas cómo única alternativa para batir a las antiguas fermi.

Como hablamos de cambios vemos que la primera característica de la nueva serie de Nvidia es que todos los núcleos Cuda son capaces de realizar cálculos de enteros (int) o punto flotante de 32 bits (fp32), lo que llamamos cálculos sencillos.
¿Pero qué pasa con los cálculos complejos (fp64)?
Muy sencillo, Nvidia a diferencia de la serie anterior (fermi) ha incluido nuevas unidades de cálculo complejo (fp64) que tienen la particularidad de que sólo son capaces de realizar cálculos complejos, no pudiendo realizar cálculos sencillos.

Podemos ver cómo en la nueva kepler Nvidia vuelve a realizar una distinción entre.

Cita:

– Gama alta (gk100 o gk110) que ofrece un gran rendimiento en juegos y cálculo GPU.
– Gama media y baja (gk104, gk106, gk107,) con un buen rendimiento en juegos, pero mermada en GPU, esta última variante postura tan sólo 8 unidades FP 64 dedicadas.


Y aquí tenemos un caso curioso, podemos ver el ejemplo del tope de gama en mononúcleo de la serie 600 de Nvidia: la todo poderosa GTX 680. Una tarjeta que se muestra superior a la GeForce 560 ti, pero que palidece ante una GeForce GTX 480 y más aun contra su equivalente en la gama anterior, la GeForce GTX 580.

La GTX 680 tiene un total de 1536 Shaders (Cuda Cores) pero ojo en realidad sólo tiene 64 unidades (fp64) de cálculo complejo.

Aquí es donde vemos que los Cuda Cores tienen distinto valor ya que en realidad esos 1536 núcleos están pensados para operación sencillas de enteros o coma flotante FP 32, pero tan sólo es capaz de realizar 64 operación complejas (fp64) a la vez que son las que se usan para renderizar.

En este sentido, las nuevas tarjetas kepler de Nvidia de gama media han demostrado tener una gran capacidad para juegos con casi el doble de capacidad a la hora de realizar cálculos sencillos (fp32) pero una capacidad pobre con respecto a la gama anterior fermi para realizar cálculos complejos (fp64).

De hecho, y como comentamos Nvidia ha reducido el número de transistores haciendo tarjetas más sencillas para reducir costes que no tienen la capacidad de la serie anterior a la hora de trabajar realizando cálculos complejos (fp64) precisamente para dejar a tesla como la gran beneficiada a la hora de trabajar empleando mayor número de transistores y dedicando sus mejores recursos para marcar aún más la diferencia.


Conversión libre basada en el artículo: http://www.chw.net/2012/03/kepler-a-…n-computo-GPU/.

Ver más sobre el tema y los comentarios en el foro