AMD Stream Processor (cielos, una predicción de hace tres años...)

Por Fernando Acero

Está escondido en una lista de correos o en un foro. El caso es que no lo encuentro; quizás el problema de ser tan prolífico en artículos y comentarios. Pero a pesar del riesgo de que me tachen de "mentiroso", por no poder demostrarlo, o lo digo o reviento. Pero ojo, que nadie se lance, que sigo buscando mi comentario, y como lo encuentre... Bueno, allá voy...

En una discusión sobre la debilidad de algunos algoritmos relacionados con la televisión digital y la famosa Ley de Moore, comenté que los procesadores gráficos eran una buena opción para triturar números en coma flotante y/o romper códigos y que, tarde o temprano, alguien sacaría provecho de ello. No en vano, estos procesadores, verdaderos herederos de los antiguos coprocesadores matemáticos, en lo que a tratamiento numérico se refiere, lo que hacen mejor son las operaciones de coma flotante. Pero todo hay que decirlo, además, estos chips hacen estas operaciones a toda velocidad, que es lo que más me gusta de ellos...

Si esto era casi una realidad palpable hace tres años, ahora, con el impresionante avance en estos procesadores especializados o GPU's, la afirmación no puede ser menos cierta. Hemos de reconocer que algunas tarjetas gráficas de gama alta son simplemente "impresionantes" y pueden llegar a ser los componentes más caros del hardware de un PC moderno, por lo que algo habrá detrás.

Yo estaba convencido de que los interesados en conseguir potencia de cálculo comenzarían a mirar con otros ojos y a cacharrear con estos singulares dispositivos.

Lo cierto es que el interés en las GPU, para otras aplicaciones distintas a los gráficos, ha crecido en los últimos meses. De hecho, ya hay proyectos de software que intentan usar estas potentes tarjetas gráficas para algo más que matar marcianos con realismo y velocidad.

Por ejemplo, hay un proyecto de computación distribuida, similar al de Seti@Home, pero orientado a la síntesis de proteínas que se denomina Folding@home.

Pues bien, los responsables de este proyecto, en un intento de mejorar la velocidad de cálculo y el rendimiento, están pensando en usar las GPU de las tarjetas gráficas para realizar cálculos de forma compartida con la CPU. Interesante ¿verdad?.

Pues bien, esta es la aproximación "light" del uso de las tarjetas de alta gama instaladas en los ordenadores de los clientes, pero como veremos hay aproximaciones más radicales a este asunto.

Ante la existencia de este interesante nicho de mercado, AMD ha lanzado un producto revolucionario que hace realidad mi predicción de hace tres años. Se trata del "AMD Stream Processor".

AMD Stream Processor

Esta máquina de triturar números en coma flotante y con precisión real de 32 bits, está basada en la GPU de la tarjeta gráfica ATI Radeon X1900, es decir, en el magnífico chip AMD R580.

Con sus 48 procesadores y un ultra-eficiente controlador de memoria de 512-bit, esta placa formato PCI-Express y 1 Gb de memoria RAM DDR3 de última generación, promete a sus afortunados usuarios una potencia de cálculo de 360GFlops. Sin duda, algo que no está nada mal para un humilde ordenador de sobremesa.

¿Nos imaginamos un pequeño cluster de estas maravillas?. Yo sí, y sería algo más eficiente que el "superordenador" de la "Fortaleza Digital" de Dan Brown, pero todos ya sabemos que esa era tarea fácil ¿no? ;-).

Dicho esto, no cabe duda, de que se trata de un enorme salto en la capacidad de cálculo, que acorta las distancias de la Ley de Moore en varios órdenes de magnitud y acerca la computación extrema a los ordenadores de sobremesa.

Como es lógico, para poder sacar partido de esta maravilla, es necesario que las aplicaciones estén especialmente diseñadas para usarla. Para ello, AMD proporciona el "compute runtime driver (CTM™)", que hace de interfaz entre la máquina y los programas que la utilizan. Algo similar a los controladores de software de las tarjetas gráficas.

Pero el principal problema para convertirse en usuario de esta increíble maquina, está en el precio, que en este momento es de unos no despreciables 2.599 dólares y por lo tanto, lejos del alcance de muchos de los presentes a este foro, lo que siento de verdad.

Si hoy me tocan los 200 millones de euros del bote de los Euromillones ya se una de las cosas que me pienso comprar para jugar con algunos algoritmos a los que les tengo ganas ;-).

"Copyleft 2006 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

Comentarios

Selecciona arriba tu forma preferida de visualizar
los comentarios y pulsa el botón para guardar tus
preferencias. Éstas sólo se recordarán para tus
próximas visitas si eres usuario registrado.

La nueva tendencia en computación personal

Parece confirmarse la nueva tendencia en computación personal:

Acercarla a las características de la computación de alto rendimiento (un reciente artículo de Kriptópolis toca este asunto desde otro punto de vista).

Por ejemplo, el "gigantesco" Mare Nostrum dispone de 10240 "modestos" procesadores IBM Power PC 970MP, a 2.3 GHz, sabiamente dispuestos. Básicamente es una extensión de la idea tratada en el artículo (procesamiento distribuido).

Como nota curiosa, los supercomputadores más potentes usan procesadores con frecuencias bajas (del orden 1-1,5Ghz), que proporcionan un menor consumo, calentamiento y sensibilidad a las interferencias. El BlueGene de IBM (nº 1 del top 500) utiliza procesadores aún más "modestos", a 700Mhz.

Lo que demuestra que lo importante no es sólo la velocidad, sino la arquitectura (y por ende la placa base). Sin unos "buses" rápidos, nos comemos la GPU con patatas.

Por eso los superordenadores suelen utilizar comunicaciones ópticas para interconectar sus elementos más sensibles (procesadores). En el caso del Mare Nostrum, por volver al ejemplo, utilizan un sistema llamado "Myrinet".

Pero quizá el caso más claro del tema que nos ocupa - los PCs - son los procesadores de doble núcleo de Intel (que es una forma barata de tener 2 procesadores en la misma placa).

Parece que ya se está llegando en serio al límite físico de la tecnogía de silicio (¿no se puede miniaturizar más?, de momento).

Por eso los fabricantes empiezan a "tirar" más de nuevas arquitecturas para mejorar el rendimiento, a la espera de las nuevas tecnologías de chips.

Sí. Un tema interesante.

Veo...

Primero la LSSI... Luego AMD... ¿Profecitópolis? Deberías crear una sección especial o algo.

Codexcast.com El podcast

pergaminoraspado.com El blog

Cierto, cierto, Escribano...

Yo no paso de ser un aficionadillo pero gente como Carlos S. Almeida, y -ahora- Fernando Acero, están mostrando facultades proféticas sin duda mayores que las del "visionario" por excelencia, Don Bill Gates, que no da una ni cuando se equivoca.

problemas de precisión

Tengo un amigo que trabaja en estos temas en un grupo de investigación de la universidad de Malaga (dep. de arquitectura de computadores) y hace un año me comentó que el problema de realizar los calculos con las GPU's estriba en que no trabajan con precisión de 64 bits, sino con media precisión, lo cual las invalida para muchos calculos cientificos.

 

- Eler

La precisión de este sistema es....

La precisión real del sistema es de 32 bits, pero en Linux hay librerías para precisión arbitraria que bien se podrían usar con este sistema para casos en los que hiciera falta, se bajaría el rendimiento, pero se podrían hacer los cálculos, menos es nada.

"Copyleft 2006 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

No son de propósito general

Las GPUs son muy rápidas porque son para un propósito muy específico y su arquitectura está optimizada para el mismo, está claro que para ciertas cosas puede ser una buena idea aprovechar su potencia de cálculo pero no le veo nada de novedoso. El MIPS R2000 (el que llevaba la PS1) por ejemplo no incluía unidad de coma flotante en el procesador, sino que tenía un coprocesador específico para ello.

¿Los 360GFlops que son, sumas?, ¿en el caso hiper-ideal que han probado ellos y que no alcanzarás ni de broma con casos reales?

Como dicen por el primer comentario hoy en día compensa más gastar el dinero en los sitios donde está el cuello de botella y no en el procesador. Sacas más rendimiento seguro.

el saber nos hace libres

Desde la PS2

Desde que salió la PS2 que ha habido ratón de biblioteca interesado en sacarle el jugo a la consola que no se se le puede sacar al PC. El cluster de PS2 es realmente jocoso. No son los únicos. En lo que respecta a pequeños kernels de aplicación, te puede valer una tarjeta gráfica o el procesador gráfico de la consola (y estoy pensando en el de la XBox nueva) para no solo pulverizar polígonos sino como dices hacer alguna aplicación criptográfica. Sin duda. Pero en cuanto el volumen de datos sea grande y haya mucho trajín entre el "copro" y la memoria, vas dado. Ahora que la mejor manera de hacerme callar la boca es una demo.

Y por cierto,....

... la ley de Moore es un cuento.

Y tanto

"... la ley de Moore es un cuento."

Al igual que la ley de Linus, je. Hoy en día cualquiera con un poco de renombre dice cualquier pijada entonándola como aquel que enuncia un teorema y ya se le llama ley ;)

el saber nos hace libres

Si se lee detenidamente...

Si se lee detenidamente el artículo, se dice un par de cosas buenas y otras dos malas.

Las buenas son:

a) Tiene 1Gb de memoria

b) Tiene un chip avanzado de gestión de memoria de 512 bits.

Por ello, no hay mucho problema a la hora de trabajar con grandes cantidades de datos y facilita el trasiego de información entre la GPU y la memoria.

Las malas son:

a) Tiene una precisión 32 bits reales en coma flotante.

b) Tiene un precio desorbitado.

Respecto a los Gflops son los que dice el fabricante y no especifica sobre las operaciones que se usan para calcularlo. Tampoco he encontrado ningún Becnkmark sobre ella.

Las especificaciones se encuentran en esta página.

Lo que más me gusta es el soporte para Linux de 32 y 64 bits ;-).

Entre las aplicaciones falta una bastante controvertida que podría llamarse "Homeland Security" ya que hace falta una gran potencia de cálculo para programas de reconocimiento facial, algo que quedaba un poco fuera de las posibilidades de un PC tradicional.

"Copyleft 2006 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."

Opinar

Los comentarios publicados en este sitio expresan sólo la opinión de su autor, quien será el único responsable de los mismos. La publicación de cualquier comentario no supone en absoluto la conformidad del responsable de este sitio con su contenido.

Como norma general, en este sitio no se publican comentarios que incluyan datos personales, ni direcciones de correo, ni ninguna otra forma de establecer contactos privados o comerciales, así como comentarios que no aportan nada, fuera de tema o que no se ajustan a la netiqueta, la ortografía o la educación.

Para poder enviar tus comentarios has de permitir las cookies del sitio.

  • Etiquetas HTML permitidas: <a> <em> <strong> <ul> <ol> <li> <p> <u> <br><strike> <blockquote> <div>

Más información sobre las opciones de formato...

CAPTCHA
Esta prueba busca evitar la entrada de mensajes basura automatizados. Muchas gracias por tu colaboración.
8 + 4 =
Resuelve esta sencilla operación e introduce el resultado.