Yo sólo le ponía un ejemplo de que existen otras cosas, que para mi gusto son más "bonitas" de trabajar con ellas.
Desde luego, no digo que las Nvidia de esas sean una tontería, es más yo tengo una 9800GT en casa para "juguetear" con ella;-)
Puse un SX-9 como ejemplo porque son los únicos procesadores vectoriales clásicos que siguen vivos.
¿Te cabe siquiera encima de la mesa un SX-9 o tratas de hacerte el listillo?
El teclado de mi portátil es más grande que un procesador + 64GB de un SX-9, y los rack de 16 procesadores creo que son los típicos 42U.
vectorizar un código es mucho más complicado que CUDA-ificarlo, que es casi como usar OpenMP
Yo hablaba de códigos fácilmente vectorizables, por ejemplo la previsión meteorológica... A mi me parece mucho más fácil vectorizar esos algoritmos "a mano" en un procesador vectorial que implementarlos en una Nvidia. En un vectorial, operaciones con matrices enormes se pueden codificar "a mano" de forma sencilla, en una Nvidia (al menos en la mía) es una puñeta... como se te ocurra usar la memoria principal y pasar de las caches para simplificar el código no tira todo lo que debería tirar (aunque corra como 100 veces más que en un Opteron)
Y no hablemos de la simplicidad del código...
Todo esto aparte, un solo procesador SX-9 tiene MENOS rendimiento pico en doble precisión que una GTX280. La GTX280 tiene un pico teórico de 116GFLOPs, de los cuales en aplicaciones reales se ha alcanzado entre 60-80GFLOPs. Un solo SX-9 alcanza 102GFLOPs pico teóricos, de los cuales vete a saber cuántos se han alcanzado en aplicaciones reales
Una Nvidia... 80/116 = ~69% Un sistema SX-6 (2001) del top500 con múltiples nodos unidos por un crossbar. 35860/40960 = ~87% Y eso que los nodos están dispersos por una habitación enorme... http://www.top500.org/system/performance/5628 [top500.org]
El roadrunner (el de tu ejemplo) tiene: 1105000/1456000 = ~76% Así que el rendimiento respecto a su potencia máxima de las Nvidia no es nada sorprendente. Su precio sí, en eso no discutimos.
Tienes que ordenar las operaciones adecuadamente para que puedan ser encadenadas y no te comas las latencias gordas
Depende de la arquitectura, los SX6/9 funcionan con encadenamiento general, así que no "llegan tarde". No obstante, reordenar las operaciones y sacar dependencias es lo "bonito" de estas arquitecturas.
Buscando rendimientos del SX-6, he encontrado: http://www.ultrasim.info/gordon6.pdf [ultrasim.info] El problema es de simulación atmosférica Le sacan un 81% del pico con 80 procesadores y un 65% con 5120 procesadores
Re:Cuidado con el rendimiento
(Puntos:2)( Última bitácora: Jueves, 31 Mayo de 2007, 20:41h )
Desde luego, no digo que las Nvidia de esas sean una tontería, es más yo tengo una 9800GT en casa para "juguetear" con ella
Puse un SX-9 como ejemplo porque son los únicos procesadores vectoriales clásicos que siguen vivos.
A mi me parece mucho más fácil vectorizar esos algoritmos "a mano" en un procesador vectorial que implementarlos en una Nvidia.
En un vectorial, operaciones con matrices enormes se pueden codificar "a mano" de forma sencilla, en una Nvidia (al menos en la mía) es una puñeta... como se te ocurra usar la memoria principal y pasar de las caches para simplificar el código no tira todo lo que debería tirar (aunque corra como 100 veces más que en un Opteron)
Y no hablemos de la simplicidad del código...
80/116 = ~69%
Un sistema SX-6 (2001) del top500 con múltiples nodos unidos por un crossbar.
35860/40960 = ~87% Y eso que los nodos están dispersos por una habitación enorme...
http://www.top500.org/system/performance/5628 [top500.org]
El roadrunner (el de tu ejemplo) tiene: 1105000/1456000 = ~76%
Así que el rendimiento respecto a su potencia máxima de las Nvidia no es nada sorprendente. Su precio sí, en eso no discutimos.
Re:Cuidado con el rendimiento
(Puntos:2)( Última bitácora: Jueves, 31 Mayo de 2007, 20:41h )
Buscando rendimientos del SX-6, he encontrado:
http://www.ultrasim.info/gordon6.pdf [ultrasim.info]
El problema es de simulación atmosférica
Le sacan un 81% del pico con 80 procesadores y un 65% con 5120 procesadores