Bueno hace ya mucho que no tomammos reviews de nuestros amigos de Chilehardware XD y para que no se vea tan vacio el blog y luego de que mi cuate el pinguino nos contara la historia de Hankcock, bueno en los ultimos meses se han dado los lanzamientos mas esperados del verano para los entusiastas por lo menos, nVidia cambio de nombre a sus tradicionales series que llevaban secuencias series 4,5,6,7,8 y finalmente 9 desde la vieja Geforce 4 se habia mantenido el numero hasta la 9800 que parecia un dejavú ya que hace 3 generaciones o series Ati owneara a nVidia con ese mismo modelo y las cosas han cambiado desde entonces nVidia se habia empeñado en hacer mejores productos y ATi paraecia que luego de sus logros se durmio en sus laureles, bueno pero el punto es hace un mes mas o menos nVidia presento su nuevo chip el sucesor del no tan bien recibido por su excesivo costo el n90 pero que ya se ha devaluado por la competencia con ATi y nVidia decidio renombrar a su familia de chips y en esta ocasion en lugar de nombrarlo n100 o algo asi se ha cambiado a la familia por GT200 y con la sorpresa de la reduccion a 65nm y un buen performance pero un excesivo precio, pero bueno pasemos a conocer la arquitectura del GT200 lo bueno y lo nuevo.
Arquitectura GT200
Hoy celebramos por partida doble. Por un lado NVIDIA lanza una nueva arquitectura luego de 18 meses y por otra parte, bastante más importante, estrenamos nuevo colaborador: Nicolás Rencoret, una eminencia en el tema gráfico que nos dará una cátedra de lo que trae GT200 bajo la capota.
1.400 millones de transistores miniaturizados en un cuadrado de silicio de 576mm2 con proceso de fabricación de 65nm, muchos de ellos corriendo a más de 1200MHz, alimentados por 1GB de memoria sobre un bus de 512-bit de ancho y disipando 236w. Este es el más breve de los resúmenes de la arquitectura GT200 de NVIDIA. Sacando una calculadora y haciendo unas cuantas sumas y restas, es fácil comprender que la empresa de Santa Clara está introduciendo hoy un chip que estresa al límite muchas de las estrictas leyes de la física.
Realmente es para dejar pasmado a cualquiera que pueda comprender la magnitud de lo que pudo lograr la empresa. Por eso, hoy les mostraremos un análisis técnico detallado del desarrollo de este GPU para no solo entender que es lo que lo hace especial, sino para entender cómo ha cambiado la mentalidad de NVIDIA con todo el ruido que ha existido en el ambiente con respecto a CPUs+GPUs, Larrabees, fusiones y demás acontecimientos recientes en el mundo de los GPUs y el procesamiento de datos.
1.400 millones de transistores miniaturizados en un cuadrado de silicio de 576mm2 con proceso de fabricación de 65nm, muchos de ellos corriendo a más de 1200MHz, alimentados por 1GB de memoria sobre un bus de 512-bit de ancho y disipando 236w. Este es el más breve de los resúmenes de la arquitectura GT200 de NVIDIA. Sacando una calculadora y haciendo unas cuantas sumas y restas, es fácil comprender que la empresa de Santa Clara está introduciendo hoy un chip que estresa al límite muchas de las estrictas leyes de la física.
Realmente es para dejar pasmado a cualquiera que pueda comprender la magnitud de lo que pudo lograr la empresa. Por eso, hoy les mostraremos un análisis técnico detallado del desarrollo de este GPU para no solo entender que es lo que lo hace especial, sino para entender cómo ha cambiado la mentalidad de NVIDIA con todo el ruido que ha existido en el ambiente con respecto a CPUs+GPUs, Larrabees, fusiones y demás acontecimientos recientes en el mundo de los GPUs y el procesamiento de datos.
El tamaño y sus implicancias
El GPU GT200 es grande, extremadamente grande y esto combinado con el hecho de que la arquitectura de GPUs es más compleja que la de un CPU, tiene una cantidad importante de consecuencias.
Para aproximarse de mejor forma a este tema, es ideal visualizar la evolución de los GPUs y los CPUs a través del tiempo en cuanto a tamaño y densidad de componentes.
Como se puede apreciar, Intel ha sido capaz de mantener el tamaño de sus CPUs bajo control lo cual es el resultado principalmente del hecho de que son líderes en los procesos de miniaturización para la fabricación de chips, junto con el hecho de que un muy elevado porcentaje de sus transistores son empleados en memoria cache en vez de ser unidades de procesamiento. Por otro lado, a NVIDIA le ha costado controlar el tamaño de sus GPUs y sus desarrollos les están comenzando a salir un poco de las manos. La razón de esto, es que mientras más grande sea el tamaño del cuadrado de silicio, se pueden obtener menos chips por cada oblea (wafer) que se procesa. Esto es obvio, pues la oblea no ha crecido en diámetro - 300mm - en muchos años. Si para el G80 cada disco tenía 121 GPUs de 484mm², siendo que el tamaño del GT200 es ahora de 576mm², la cantidad de ellos se reduce aproximadamente a 100. Junto con esto, la cantidad de chips sin defectos o en otras palabras, su rendimiento productivo (yields) disminuye debido a que las impurezas ahora amenazan a la superficie de un circuito impreso cuya área es mayor. Por ende, la cantidad de GPUs buenos se reduce en una buena cantidad con respecto a los del G80 trayendo como resultando que el costo del GT200 sea significativamente más alto para la empresa.
Adicionalmente, la cantidad de transistores en cada procesador gráfico ha aumentado a un ritmo considerablemente más rápido que el de los CPUs como se puede ver en la tabla. Considerando que es Intel la empresa que utiliza los procesos de manufactura más modernos del mundo y no NVIDIA, se puede ver como esta última esta estresando mucho más la tecnología a su límite. Esto se demuestra de forma muy clara cuando se compara el consumo en watts de los más recientes desarrollos de ambas empresas: mientras el Intel Core 2 Extreme QX9770 consume - según documentos de la empresa - 150w, el GT200 disipa 236w, un 57% más aproximadamente. No solo esto, debido a que los transistores del GPU son en su gran mayoría unidades de procesamiento a comparación del caso de Intel en donde la mayoría se emplean en memoria cache, la cantidad de ruido eléctrico generado dentro de cada GPU está haciendo que cada vez sea más difícil que ellos logren frecuencias más elevadas.
Las consecuencias de lo anterior hacen fácil preveer que NVIDIA está llegando al límite de lo que pueden hacer en un solo chip para su siguiente generación de GPUs, tanto por factibilidad como por costos. ATI entendió esto desde hace un buen tiempo y optó por una solución inteligente: GPUs menos complejos, más económicos y más manejables, lo cual incluso les permite atacar el mercado de la gama alta de una forma más costo-eficiente empleando tarjetas de video con dos GPUs. Si se sigue la lógica, el GPU de siguiente generación de NVIDIA debería estar basado en una nueva arquitectura que diste del actual G80 y GT200. Esta nueva arquitectura debiese ser desarrollada de forma radicalmente diferente para mitigar los problemas actuales que hacen muy difícil que sea factible que nuevamente se duplique el numero de transistores (estaríamos hablando de más de 2.800 millones) y que el tamaño del chip se pueda fabricar con costos razonables. Para ello hay tres caminos posibles:
* Usar el mismo modelo de ATI, en donde la gama alta la dominan tarjetas de video con más de un GPU.
* Desarrollar las unidades funcionales de la arquitectura en varios chips como lo hacía antes 3dfx (ejemplo: un chip para shaders, otro para ROPs y otro para visualización de imágenes).
* Una nueva arquitectura muy diferente a lo que estamos acostumbrados que permita crear GPUs más poderosos con aumentos marginales en la cantidad de transistores en cada generación.
Para aproximarse de mejor forma a este tema, es ideal visualizar la evolución de los GPUs y los CPUs a través del tiempo en cuanto a tamaño y densidad de componentes.
Como se puede apreciar, Intel ha sido capaz de mantener el tamaño de sus CPUs bajo control lo cual es el resultado principalmente del hecho de que son líderes en los procesos de miniaturización para la fabricación de chips, junto con el hecho de que un muy elevado porcentaje de sus transistores son empleados en memoria cache en vez de ser unidades de procesamiento. Por otro lado, a NVIDIA le ha costado controlar el tamaño de sus GPUs y sus desarrollos les están comenzando a salir un poco de las manos. La razón de esto, es que mientras más grande sea el tamaño del cuadrado de silicio, se pueden obtener menos chips por cada oblea (wafer) que se procesa. Esto es obvio, pues la oblea no ha crecido en diámetro - 300mm - en muchos años. Si para el G80 cada disco tenía 121 GPUs de 484mm², siendo que el tamaño del GT200 es ahora de 576mm², la cantidad de ellos se reduce aproximadamente a 100. Junto con esto, la cantidad de chips sin defectos o en otras palabras, su rendimiento productivo (yields) disminuye debido a que las impurezas ahora amenazan a la superficie de un circuito impreso cuya área es mayor. Por ende, la cantidad de GPUs buenos se reduce en una buena cantidad con respecto a los del G80 trayendo como resultando que el costo del GT200 sea significativamente más alto para la empresa.
Adicionalmente, la cantidad de transistores en cada procesador gráfico ha aumentado a un ritmo considerablemente más rápido que el de los CPUs como se puede ver en la tabla. Considerando que es Intel la empresa que utiliza los procesos de manufactura más modernos del mundo y no NVIDIA, se puede ver como esta última esta estresando mucho más la tecnología a su límite. Esto se demuestra de forma muy clara cuando se compara el consumo en watts de los más recientes desarrollos de ambas empresas: mientras el Intel Core 2 Extreme QX9770 consume - según documentos de la empresa - 150w, el GT200 disipa 236w, un 57% más aproximadamente. No solo esto, debido a que los transistores del GPU son en su gran mayoría unidades de procesamiento a comparación del caso de Intel en donde la mayoría se emplean en memoria cache, la cantidad de ruido eléctrico generado dentro de cada GPU está haciendo que cada vez sea más difícil que ellos logren frecuencias más elevadas.
Las consecuencias de lo anterior hacen fácil preveer que NVIDIA está llegando al límite de lo que pueden hacer en un solo chip para su siguiente generación de GPUs, tanto por factibilidad como por costos. ATI entendió esto desde hace un buen tiempo y optó por una solución inteligente: GPUs menos complejos, más económicos y más manejables, lo cual incluso les permite atacar el mercado de la gama alta de una forma más costo-eficiente empleando tarjetas de video con dos GPUs. Si se sigue la lógica, el GPU de siguiente generación de NVIDIA debería estar basado en una nueva arquitectura que diste del actual G80 y GT200. Esta nueva arquitectura debiese ser desarrollada de forma radicalmente diferente para mitigar los problemas actuales que hacen muy difícil que sea factible que nuevamente se duplique el numero de transistores (estaríamos hablando de más de 2.800 millones) y que el tamaño del chip se pueda fabricar con costos razonables. Para ello hay tres caminos posibles:
* Usar el mismo modelo de ATI, en donde la gama alta la dominan tarjetas de video con más de un GPU.
* Desarrollar las unidades funcionales de la arquitectura en varios chips como lo hacía antes 3dfx (ejemplo: un chip para shaders, otro para ROPs y otro para visualización de imágenes).
* Una nueva arquitectura muy diferente a lo que estamos acostumbrados que permita crear GPUs más poderosos con aumentos marginales en la cantidad de transistores en cada generación.
Chip con doble personalidad
Con el lanzamiento del G80, NVIDIA no solo introdujo su primer GPU con shaders unificados, sino que también invirtió fuertemente en otros usos para el increíble poder de cálculo de este. Fue así como la empresa desarrollo CUDA, una herramienta única que permite desarrollar aplicaciones que emplean lo mejor de las características de los GPUs y CPUs para que estas sean aceleradas a niveles impensados.
Para entenderlo, NVIDIA plantea el ejemplo siguiente: para valorar el mercado estadounidense de opciones (derecho a comprar o a vender un commodity en una fecha específica) completo se requieren de 600 CPUs (no especifican modelo) usando los métodos tradicionales. Con CUDA, solo se requiere un servidor con 8 núcleos y 12 GPUs (G80) para realizar los mismos cálculos. Considerando aspectos de refrigeración, mantención, espacio y costo de adquirir cada solución, se puede entender porque NVIDIA se siente muy segura de sí misma para enfrentar el futuro.
Con este ejemplo se puede entender como NVIDIA invirtió tiempo en el desarrollo el GT200 no solo como un GPU sino como un chip masivamente paralelo, (lo cual la empresa define como ‘Compute Architecture’ y ‘Graphics Architecture’) y eso lo muestra claramente la arquitectura:
Para entenderlo, NVIDIA plantea el ejemplo siguiente: para valorar el mercado estadounidense de opciones (derecho a comprar o a vender un commodity en una fecha específica) completo se requieren de 600 CPUs (no especifican modelo) usando los métodos tradicionales. Con CUDA, solo se requiere un servidor con 8 núcleos y 12 GPUs (G80) para realizar los mismos cálculos. Considerando aspectos de refrigeración, mantención, espacio y costo de adquirir cada solución, se puede entender porque NVIDIA se siente muy segura de sí misma para enfrentar el futuro.
Con este ejemplo se puede entender como NVIDIA invirtió tiempo en el desarrollo el GT200 no solo como un GPU sino como un chip masivamente paralelo, (lo cual la empresa define como ‘Compute Architecture’ y ‘Graphics Architecture’) y eso lo muestra claramente la arquitectura:
Características comunes
Como se puede ver arriba el chip se divide en 4 partes principales que se explican a continuación:
1. Manejo de hilos (threads)
En la arquitectura unificada de NVIDIA no existen unidades específicas que cumplan las funciones de por ejemplo, pixel shaders o vertex shaders o cualquier otro conjunto de instrucciones. La forma como se procesan estas instrucciones es por medio de unidades que asignan hilos atadas a su característica y son enviados a los streaming processors a ser procesados. Por ejemplo, si se va a procesar un programa de pixel shader, la unidad de pixel shader crea los hilos marcados con esa función para ser procesados posteriormente. Las diferencias de esta unidad entre su modo computacional y su modo gráfico se verán en el siguiente apartado.
2. Area de procesamiento principal
La versión resumida de esta historia dice lo siguiente: en esta área del GPU se encuentran los procesadores de hilo (streaming processors o SP) que son agrupados de 8 en 8 en multiprocesdores de flujo (streaming multiprocessors o SM) los cuales incluyen elementos adicionales dependiendo de si se usa el chip en modo computacional o gráfico. Finalmente, los SMs están agrupados de a 3 en grupos de procesamiento de hilo (thread processing clusters o TPC) que adicionalmente incluyen las unidades de texturización y el cache L1 - de primer nivel - compartido. Teniendo en cuenta que hay 10 TPCs en el GPU podemos llegar a esta sencilla ecuación: 10x3x8= 240. Este número representa la cantidad de SPs (núcleos de procesamiento del GPU) que posee la arquitectura, un salto considerable con respecto a los 128 SPs (8 TPC x 2 SM x 8 SP) del G80. Como se pueden dar cuenta, este solo párrafo es para marear a cualquiera, por eso el Departamento Didáctico de CHW gasto miles de horas en Photoshop para llegar a esta obra de arte:
Si consideramos que hay 10 de estas unidades, es más fácil visualizar donde están los 240 SPs. Ahora, haremos un breve resumen de las características de todas estas unidades:
* Cada TPC usa una arquitectura de ejecución MIMD (multiple instruction multiple data). Esta es una técnica para lograr paralelismo que permite que cada SP funcione de forma asincrónica e independiente, es decir, en cualquier momento cada SP puede estar ejecutando distintas instrucciones en diferentes fragmentos de datos.
* Cada SM usa una arquitectura de ejecución SIMT (single instruction multiple thread). Esta técnica permite crear, manipular, agendar y ejecutar hilos de forma más rápida y eficiente que utilizando la técnica SIMD. Esto se da debido a que bajo SIMD, si el vector es menor al tamaño que se ha estipulado para la unidad SIMD el rendimiento se reduce. Así es que ocurre lo que es sabido del R600, el cual aun cuando según ATI dicen que tienen 320 SPs, la efectividad de ellos puede variar entre 64 y 320.
* La unidad de SIMT en cada SM crea, manipula, agenda y ejecuta hilos en grupos de a 32 de ellos lo que se llaman warps , con un máximo de 32 warps por SM (con un total de 1024 hilos por SM) a comparación de los 24 warps (768 total por SM) de 8800GTX. Al final se pueden estar manipulando simultáneamente en el chip 30720 hilos simultáneos. Con ello, aumenta la cantidad de hilos procesados por SM simplemente por ser una arquitectura más refinada aparte de su aumento en el GPU derivado de la mayor cantidad de SMs y TPCs. Adicionalmente el GPU tolera la latencia muy bien porque si un hilo se demora en accesar la memoria, se puede hacer un cambio a otro hilo sin incurrir en una penalidad de tiempo.
* Se duplica el tamaño del archivo de registro local (LRF), lo que permite que se puedan ejecutar dentro del GPU programas de shaders más grandes sin tener que hacer swap (lo que disminuye rendimiento).
* Los SPs no han cambiado en su forma de ejecutar instrucciones pues siguen ejecutando dobles operaciones MAD (sumar y multiplicar) los cuales son ayudados por unas unidades especiales (Special Function Unit o SFU) que pueden ejecutar una operación MUL (multiplicación) adicional. Sin embargo la eficiencia de ejecución de MAD + MUL si se mejoro con lo cual aumenta el poder de cómputo del GPU.
* En cada SM se incluye una unidad de instrucciones (IU) encargada que entrega las instrucciones que ella recoge del cache de instrucciones.
* Los 16KB de memoria local de cada SM son compartidos por el grupo de 8 SPs en su interior para evitar hacer búsquedas de datos fuera de la unidad.
* Algo muy interesante que NVIDIA está reconociendo es que el GPU soporta operaciones flotantes de 64-bit de precisión - llamado doble precisión - en una pasada sencilla, requeridos para muchas aplicaciones especialmente para el procesamiento de datos (modo de cómputo) que requieren resultados de alta precisión matemática. Esto sin embargo penaliza el numero de núcleos utilizables de 240 a 30 (cada SM se convierte en un núcleo) entregando 90 gigaflops los cuales equivalen a un Xeon de 8 núcleos. NVIDIA se ha caracterizado por mostrar lo poderoso que es su GPU en modo de cómputo mostrando aumentos de rendimiento con respecto a CPUs de 10, 50 y hasta 150 veces, pero acepta que la merma de rendimiento es muy considerable cuando el GT200 trabaja con precisión de 64-bit.
* Con respecto al rendimiento de texturas, el GT200 rinde de forma similar al G92 pues al igual que este, también tiene 8 unidades de direccionamiento de texturas (TA) y 8 unidades de filtrado de texturas (TF) a comparación de las 4 y 8 respectivamente del G80.
3. ROP
Para el subsistema de ROPs (encargados de hacer el procesamiento final de los pixeles) el GT200 adiciona dos particiones más de ellas con lo cual pasa a tener 8 ROPS a comparación de 6, lo que le permite procesar hasta 32 pixeles por reloj. Esto implica que técnicamente el GT200 debería tener un rendimiento superior al aplicar filtros (de alisado de lineas y anisotropico) en comparación a G80.
En la generación anterior, cada ROP estaba conectado a un canal de memoria de 64-bit, en esta generación se da el mismo caso, por lo que ahora el bus de memoria pasó de tener 384 bits a tener 512-bit.
Aparte de algunas otras optimizaciones menores para ciertos tipos de pixeles, los ROPs se mantienen estructuralmente iguales a los anteriores, lo cual implica que todos los modos de Anti-Aliasing / Alisado (MSAA, SSAA, AA de transparencia adaptiva y CSAA) que existían en la generación anterior, son soportados por el nuevo GPU, pero no se agregan nuevos modos.
4. Canales de memoria
Es interesante que NVIDIA habla de que se optimizaron las rutas críticas de memoria para que esta pueda operar a una velocidad máxima de 1,2 GHz GDDR3, algo que probablemente viene del G92 pues la velocidad de las memorias en la GeForce 8800 GTX era de 900MHz, que luego subieron a 1080MHz con la GeForce 8800 Ultra y posteriormente a 1100MHz con la GeForce 9800 GTX. Sin embargo, esto también quiere decir que el controlador de memoria está al límite de sus capacidades para GDDR3. NVIDIA cuando tuvo que decidir sobre que tecnología de memorias tendría para su siguiente GPU, decidió ser conservador manteniendo el uso de GDDR3, la cual a estas alturas está ampliamente disponible y por ende es más económica, confiando en que el mayor ancho de banda surgiría por agregar un par de controladores de memoria más en vez de depender del aumento de frecuencia de la memoria. La decisión tomada por la empresa es muy razonable pues disminuye los costos de investigación y desarrollo de un nuevo controlador de memoria, mientras se toman una mayor cantidad de tiempo en hacer las pruebas correspondientes para desarrollarlo y optimizarlo al mismo tiempo que disminuyen los costos por tarjeta de video armada.
También, NVIDIA hizo algunos ajustes en la razón o ratio de ancho de banda entre las texturas y la memoria para que esté más acorde a las cargas de trabajo actuales y futuras y así mantener a las unidades de textura siempre trabajando pues siempre los datos están disponibles.
Por otra parte, se aumentaron en 6 veces la cantidad de estructuras internas para los buffers de salida lo que hace que las operaciones de los shaders de geometría y las operaciones stream out (útiles para modo cómputo) sean considerablemente más rápidas que las del G80 y un poco más rápidas que las de la Radeon HD 3870 X2. Esto es destacable, porque en las pruebas de rendimiento que utilizaban shaders de geometría eran consistentemente más lentos los GPUs de NVIDIA. Siendo que la arquitectura del G80 tenía un rendimiento superior en todas las pruebas de rendimiento vistas en benchmarks y análisis (en donde no se emplean mucho los shaders de geometría pues estos solo fueron recién introducidos con DirectX 10 y las arquitecturas compatibles de NVIDIA y ATI) la empresa se aseguro de corregir una de las pocas cosas en la cual estaba en franca desventaja con la competencia.
Diferencias de personalidad
Como se había comentado anteriormente, el GPU puede trabajar en modo de cómputo y en modo gráfico. Ahora, eso no significa que como en el caso de la SoundBlaster X-Fi se deba cambiar de un modo a otro dependiendo de la actividad que se realice, al contrario, gracias a su arquitectura modular y paralela, el GT200 no tiene inconvenientes en procesar algunas instrucciones de cómputo y otras de gráficas (por ejemplo un juego usando 3/4 de los shaders para gráficas y el cuarto restante para cálculos de física). Esta buena noticia se debe precisamente a que se habla de una arquitectura unificada en donde un hilo de vertex shader se crea tan fácil como un hilo de cómputo. Lo que si cambia, son las unidades activas y su funcionalidad dependiendo del modo que se use, por eso acá presentamos una pequeña tabla que resume las diferencias que existen entre cada modo:
Volviendo al principio de este articulo, ahora es más fácil comprender toda esa cantidad de datos estadísticos que han determinado las capacidades del GT200. Ahora solo falta hacer un resumen de lo que es capaz de hacer el nuevo GPU de NVIDIA con respecto al G80:
El GT200 vendrá en dos versiones, el modelo GTX280 y el modelo GTX260. Al igual que en la generación pasada, la diferencia entre cada modelo radica en las velocidades de reloj, en que se deshabilitan dos TCPs completamente, lo que implica que disminuye el número de shaders y se deshabilita un ROP. Con eso se tiene lo siguiente:
Volviendo al principio de este articulo, ahora es más fácil comprender toda esa cantidad de datos estadísticos que han determinado las capacidades del GT200. Ahora solo falta hacer un resumen de lo que es capaz de hacer el nuevo GPU de NVIDIA con respecto al G80:
El GT200 vendrá en dos versiones, el modelo GTX280 y el modelo GTX260. Al igual que en la generación pasada, la diferencia entre cada modelo radica en las velocidades de reloj, en que se deshabilitan dos TCPs completamente, lo que implica que disminuye el número de shaders y se deshabilita un ROP. Con eso se tiene lo siguiente:
Dame todo el power
Dame todo el powerComo fue comentado anteriormente, debido a la complejidad de este GPU, su consumo eléctrico esta por las nubes llegando a disipar 100 watts más que el Core 2 Extreme QX977x. Es cierto que técnicamente se puede hablar de que el rendimiento por watt fue incrementado en una buena medida con respecto al G80, pero esto no quita el hecho de que estamos frente a un GPU cuyo consumo eléctrico resulta excesivo. NVIDIA lo sabe y por ello decidió tomar cartas en el asunto e intentar reducir el consumo eléctrico del GT200 cuando este no tiene que trabajar a carga completa. Para ello, implemento una serie de tecnologías que controlan este aspecto.
Por una parte, el GPU tiene varios modos de uso que van desde 2D hasta Hybrid Power que permiten reducir drásticamente el gasto innecesario de electricidad. Los modos implementados y su consumo son:
* Hybrid power, el cual apaga el GPU por completo cuando la tarjeta está instalada en una placa madre con chipset NVIDIA que tenga un GPU integrado (Consumo: 0W)
* Idle, modo 2D (Consumo: 25W)
* Reproducción Blue-ray (Consumo: 35W)
* Full 3D (Consumo: peor de los casos 236W, pero varia de acuerdo a carga y frecuencias)
Adicionalmente, el GT200 emplea una tecnología similar a speedstep de Intel en donde el reloj y voltajes se ajustan dependiendo de la carga y uso de GPU gracias a varios monitoreadores de actividad dentro del chip. No solo esto, también se pueden apagar bloques completos del GPU cuando no están siendo utilizados.
Es bastante positivo que NVIDIA haya considerado implementar más formas de restringir el consumo eléctrico que en cualquier otro diseño previo, pues estas partes suelen ser las que más malgastan electricidad en un computador al tener un manejo muy pobre de consumo eléctrico cuando la mayoría del tiempo las funciones del GPU están sin trabajar.
Por una parte, el GPU tiene varios modos de uso que van desde 2D hasta Hybrid Power que permiten reducir drásticamente el gasto innecesario de electricidad. Los modos implementados y su consumo son:
* Hybrid power, el cual apaga el GPU por completo cuando la tarjeta está instalada en una placa madre con chipset NVIDIA que tenga un GPU integrado (Consumo: 0W)
* Idle, modo 2D (Consumo: 25W)
* Reproducción Blue-ray (Consumo: 35W)
* Full 3D (Consumo: peor de los casos 236W, pero varia de acuerdo a carga y frecuencias)
Adicionalmente, el GT200 emplea una tecnología similar a speedstep de Intel en donde el reloj y voltajes se ajustan dependiendo de la carga y uso de GPU gracias a varios monitoreadores de actividad dentro del chip. No solo esto, también se pueden apagar bloques completos del GPU cuando no están siendo utilizados.
Es bastante positivo que NVIDIA haya considerado implementar más formas de restringir el consumo eléctrico que en cualquier otro diseño previo, pues estas partes suelen ser las que más malgastan electricidad en un computador al tener un manejo muy pobre de consumo eléctrico cuando la mayoría del tiempo las funciones del GPU están sin trabajar.
NVIDIA PhysX
En febrero de este año, NVIDIA anuncio la adquisición de AGEIA, la empresa responsable del API PhysX empleado para cálculos de propiedades físicas. Esta empresa ha dado mucho que hablar con su API y su famoso acelerador de física (PPU). Aun cuando sus productos permitían nuevos niveles de realismo en los juegos y pintaban como un buenos candidatos a ser una gran tecnología, desde la fundación de la empresa era poco visible el progreso de sus desarrollos. Por una parte, aun cuando muchos juegos habían implementado el API en sus motores (ejemplo Unreal Engine 3) los efectos que lograron impresionar a muchos no hicieron actos de presencia en los juegos. Esto se debió principalmente a que los desarrolladores de juegos implementaron funcionalidad física básica pues no existía (ni existe) la masa crítica de PPUs para desgastarse en desarrollar efectos que requieran aceleración por hardware.
Esto está por cambiar con el lanzamiento del GT200, pues en pocos días verá la luz un driver para GPUs unificados con soporte para PhysX. Como fue mencionado anteriormente, una gran característica de un chip gráfico unificado es que se pueden procesar hilos de gráficos e hilos de datos simultáneamente. Siendo que los cálculos de física dependen de chips que calculan datos masivamente paralelos, los GPUs de NVIDIA son perfectos para procesarlos. NVIDIA plantea el ejemplo de que por medio del uso del GPU se pueden acelerar en más de un 1200% los cálculos físicos tales como fluidos, cuerpos blandos y telas a comparación de un Core 2 Quad.
Dos detalles muy interesantes de esta tecnología que explicó NVIDIA tienen que ver con la escalabilidad de la física presentada en pantalla y el soporte por parte de los desarrolladores. Para el primer caso, uno de los grandes interrogantes (y retos) que se tenía con respecto a la física era su escalabilidad, es decir, la posibilidad de graduar el nivel de detalle dependiendo del hardware que se tuviese disponible, tal como se ha hecho con las opciones de gráficas en los juegos. Este problema ha sido resuelto por medio de un plugin que permite crear diferentes módulos en los cuales se manipulan distintas propiedades físicas (ej. un módulo para simulación de vegetación, otro para objetos que se pueden destruir, etc.) y en donde cada módulo se puede graduar al nivel de detalle que se desee. Este elemento es muy relevante pues permite a los desarrolladores mayor flexibilidad a la hora de implementar física en los juegos para que corran en la mayor cantidad de hardware posible.
La segunda cosa interesante es que en la presentación de NVIDIA se menciona que el API de PhysX está presente en todas las consolas de última generación (Sony Playstation 3, Microsoft Xbox 360 y Nintendo Wii). Lo relevante de este dato es que dada la batalla que se va a liberar en el campo de los APIs de física (donde compite el Havok de Intel, el cual fue anunciado que será soportado por AMD) resulta de importancia crítica que exista una gran mayoría de desarrolladores que hagan sus juegos basados en una sola API para que esta gane la guerra. Por ejemplo, si EA va a utilizar física en su última versión de FIFA, lo ideal es que se pueda compartir el código entre la versión del juego para cada consola y para PC. Que mejor saber que hay un solo API para programar en múltiples plataformas disminuyendo así los costos de desarrollo de cada juego. Sin embargo, Havck es un API consolidado con mucho soporte por parte de los desarrolladores, eso sin contar que cuentan con todo el aparataje de promoción de Intel lo que hace que esta guerra sea muy dura así que cualquier ventaja que se pueda obtener es clave.
Esto está por cambiar con el lanzamiento del GT200, pues en pocos días verá la luz un driver para GPUs unificados con soporte para PhysX. Como fue mencionado anteriormente, una gran característica de un chip gráfico unificado es que se pueden procesar hilos de gráficos e hilos de datos simultáneamente. Siendo que los cálculos de física dependen de chips que calculan datos masivamente paralelos, los GPUs de NVIDIA son perfectos para procesarlos. NVIDIA plantea el ejemplo de que por medio del uso del GPU se pueden acelerar en más de un 1200% los cálculos físicos tales como fluidos, cuerpos blandos y telas a comparación de un Core 2 Quad.
Dos detalles muy interesantes de esta tecnología que explicó NVIDIA tienen que ver con la escalabilidad de la física presentada en pantalla y el soporte por parte de los desarrolladores. Para el primer caso, uno de los grandes interrogantes (y retos) que se tenía con respecto a la física era su escalabilidad, es decir, la posibilidad de graduar el nivel de detalle dependiendo del hardware que se tuviese disponible, tal como se ha hecho con las opciones de gráficas en los juegos. Este problema ha sido resuelto por medio de un plugin que permite crear diferentes módulos en los cuales se manipulan distintas propiedades físicas (ej. un módulo para simulación de vegetación, otro para objetos que se pueden destruir, etc.) y en donde cada módulo se puede graduar al nivel de detalle que se desee. Este elemento es muy relevante pues permite a los desarrolladores mayor flexibilidad a la hora de implementar física en los juegos para que corran en la mayor cantidad de hardware posible.
La segunda cosa interesante es que en la presentación de NVIDIA se menciona que el API de PhysX está presente en todas las consolas de última generación (Sony Playstation 3, Microsoft Xbox 360 y Nintendo Wii). Lo relevante de este dato es que dada la batalla que se va a liberar en el campo de los APIs de física (donde compite el Havok de Intel, el cual fue anunciado que será soportado por AMD) resulta de importancia crítica que exista una gran mayoría de desarrolladores que hagan sus juegos basados en una sola API para que esta gane la guerra. Por ejemplo, si EA va a utilizar física en su última versión de FIFA, lo ideal es que se pueda compartir el código entre la versión del juego para cada consola y para PC. Que mejor saber que hay un solo API para programar en múltiples plataformas disminuyendo así los costos de desarrollo de cada juego. Sin embargo, Havck es un API consolidado con mucho soporte por parte de los desarrolladores, eso sin contar que cuentan con todo el aparataje de promoción de Intel lo que hace que esta guerra sea muy dura así que cualquier ventaja que se pueda obtener es clave.
Conclusiones
Como se pudo ver, estamos en presencia de una arquitectura muy poderosa y extremadamente compleja que en el papel pareciese que rinde de forma notable. Pero así como tuvimos el agrado de analizar este nuevo GPU, también pudimos ver que estamos ante una era de grandes cambios.
Por una parte, NVIDIA está promoviendo de forma muy fuerte el poder computacional de sus 240 procesadores de shaders por medio de CUDA. Desde cálculos financieros complejos hasta un cliente de Folding@Home extremadamente rápido, pareciese que las opciones son ilimitadas.
Recuerdo que hace un par de años AMD había anunciado su plataforma abierta Torrenza que dejaba a otras empresas usar distintas tecnologías de AMD - incluyendo Hypertransport - lo que permitía agregar aceleradores especiales muy fuertemente asociados al CPU. En esas épocas la empresa nos ponía a imaginar en una placa madre con dos zócalos de CPUs AMD en donde uno efectivamente se instalaba un CPU de la empresa, mientras que en el otro se instalaba un chip acelerador. Esa brillante idea daba para todo, aceleradores de física, aceleradores de cálculos matemáticos complejos, aceleración de procesamiento de medios, en fin lo que uno quisiera. Era tan atractiva la iniciativa que poco tiempo después Intel anunciaba un proyecto similar pero basado en PCI Express 2.0 llamado Geneseo.
Pasó el tiempo y nunca se supo mucho más de ninguna de esas dos tecnologías. Mientras tanto, este año NVIDIA ha anunciado que aplicaciones tan conocidas como Photoshop utilizaran al GPU para acelerarlas, Folding@Home ya es una realidad en GPUs ATI y pronto lo será en los de NVIDIA, han anunciado productos comerciales que permiten codificar video más allá que en tiempo real con la ayuda de un GPU, pronto llegara PhysX y adicionalmente ya hay aplicaciones comerciales que requieren de cálculos matemáticos extremadamente complejos, como simulaciones sísmicas para encontrar petróleo y simulaciones de dinámica molecular entre muchas otras. Suena a lo que nos prometían y todavía no cumplen AMD e Intel, lo mejor de todo NVIDIA lo está logrando empleando una sola herramienta común CUDA. Jen-Hsun Huang tiene razón para sentirse muy confiado, el potencial de sus GPUs es enorme. Dependiendo de cómo juegue sus cartas la empresa y como reaccionen los competidores, podríamos estar ante el nacimiento de un estándar de procesamiento muy fuerte tal como lo es x86. Pero para que esto pase falta una enormidad de tiempo y hay factores mucho más terrenales que resolver ahora.
La arquitectura del GT200 probablemente puede ser una de las últimas que se puedan desarrollar como un chip monolítico. La cantidad de componentes está avanzando a un ritmo mucho más alto que su miniaturización siendo el fiel reflejo de eso el enorme tamaño del GPU. Las leyes de la física pronto alcanzarán a esta forma de desarrollar estos chips, por lo que hay que pensar diferente, muy diferente tal como lo hicieron aquellos que soñaron en que la forma ideal de procesar gráficas en tres dimensiones era por medio de chips especializados y no dependiendo del CPU u optimizaciones a este tales como MMX.
Factores de mediano plazo (para la industria tecnológica) como el mencionado anteriormente deberán ser ejecutados con precisión para que en el largo plazo, se cumplan objetivos como que CUDA y el GPU sean un estándar de la industria en cuanto a procesamiento de datos paralelos se trate. Esto para fortalecer aun más a la empresa posicionándola como una de las que más influencian el mercado de la tecnología. Estratégicamente NVIDIA ha jugado una buena mano, pero Intel y AMD tienen mucho que decir y hacen faltan muchos años para el desenlace de esta historia. Así también, falta ver si esta estrategia, de la mano con los resultados de rendimiento real del GT200 es un paso correcto hacia esa dirección y para eso, tendrán que leer nuestro análisis de rendimiento.
(c) ChileHardWare URL ORIGINAL
Por una parte, NVIDIA está promoviendo de forma muy fuerte el poder computacional de sus 240 procesadores de shaders por medio de CUDA. Desde cálculos financieros complejos hasta un cliente de Folding@Home extremadamente rápido, pareciese que las opciones son ilimitadas.
Recuerdo que hace un par de años AMD había anunciado su plataforma abierta Torrenza que dejaba a otras empresas usar distintas tecnologías de AMD - incluyendo Hypertransport - lo que permitía agregar aceleradores especiales muy fuertemente asociados al CPU. En esas épocas la empresa nos ponía a imaginar en una placa madre con dos zócalos de CPUs AMD en donde uno efectivamente se instalaba un CPU de la empresa, mientras que en el otro se instalaba un chip acelerador. Esa brillante idea daba para todo, aceleradores de física, aceleradores de cálculos matemáticos complejos, aceleración de procesamiento de medios, en fin lo que uno quisiera. Era tan atractiva la iniciativa que poco tiempo después Intel anunciaba un proyecto similar pero basado en PCI Express 2.0 llamado Geneseo.
Pasó el tiempo y nunca se supo mucho más de ninguna de esas dos tecnologías. Mientras tanto, este año NVIDIA ha anunciado que aplicaciones tan conocidas como Photoshop utilizaran al GPU para acelerarlas, Folding@Home ya es una realidad en GPUs ATI y pronto lo será en los de NVIDIA, han anunciado productos comerciales que permiten codificar video más allá que en tiempo real con la ayuda de un GPU, pronto llegara PhysX y adicionalmente ya hay aplicaciones comerciales que requieren de cálculos matemáticos extremadamente complejos, como simulaciones sísmicas para encontrar petróleo y simulaciones de dinámica molecular entre muchas otras. Suena a lo que nos prometían y todavía no cumplen AMD e Intel, lo mejor de todo NVIDIA lo está logrando empleando una sola herramienta común CUDA. Jen-Hsun Huang tiene razón para sentirse muy confiado, el potencial de sus GPUs es enorme. Dependiendo de cómo juegue sus cartas la empresa y como reaccionen los competidores, podríamos estar ante el nacimiento de un estándar de procesamiento muy fuerte tal como lo es x86. Pero para que esto pase falta una enormidad de tiempo y hay factores mucho más terrenales que resolver ahora.
La arquitectura del GT200 probablemente puede ser una de las últimas que se puedan desarrollar como un chip monolítico. La cantidad de componentes está avanzando a un ritmo mucho más alto que su miniaturización siendo el fiel reflejo de eso el enorme tamaño del GPU. Las leyes de la física pronto alcanzarán a esta forma de desarrollar estos chips, por lo que hay que pensar diferente, muy diferente tal como lo hicieron aquellos que soñaron en que la forma ideal de procesar gráficas en tres dimensiones era por medio de chips especializados y no dependiendo del CPU u optimizaciones a este tales como MMX.
Factores de mediano plazo (para la industria tecnológica) como el mencionado anteriormente deberán ser ejecutados con precisión para que en el largo plazo, se cumplan objetivos como que CUDA y el GPU sean un estándar de la industria en cuanto a procesamiento de datos paralelos se trate. Esto para fortalecer aun más a la empresa posicionándola como una de las que más influencian el mercado de la tecnología. Estratégicamente NVIDIA ha jugado una buena mano, pero Intel y AMD tienen mucho que decir y hacen faltan muchos años para el desenlace de esta historia. Así también, falta ver si esta estrategia, de la mano con los resultados de rendimiento real del GT200 es un paso correcto hacia esa dirección y para eso, tendrán que leer nuestro análisis de rendimiento.
(c) ChileHardWare URL ORIGINAL
1 comentario:
juro por elune que trate de leerlo... pero llego a la mitad..... jejej.... bueno yo soy un indio...y subire la nueva h huhuhuhuhu!!!
Publicar un comentario