Articulo de referencia

AMD FireStream

AMD FireStream era la marca de AMD para su línea de productos basada en Radeon , destinada al procesamiento de flujos y/o GPGPU en supercomputadoras . Desarrollada originalmente...

AMD FireStream era la marca de AMD para su línea de productos basada en Radeon , destinada al procesamiento de flujos y/o GPGPU en supercomputadoras . Desarrollada originalmente por ATI Technologies en torno a la Radeon X1900 XTX en 2006, la línea de productos se comercializó anteriormente como ATI FireSTREAM y AMD Stream Processor . [ 1 ] AMD FireStream también puede utilizarse como coprocesador de punto flotante para descargar cálculos de la CPU, lo que forma parte de la iniciativa Torrenza . La línea FireStream se descontinuó en 2012, cuando las cargas de trabajo GPGPU se integraron por completo en la línea AMD FirePro .

Descripción general

La línea FireStream es una serie de tarjetas de expansión adicionales lanzadas entre 2006 y 2010, basadas en GPU Radeon estándar pero diseñadas para funcionar como un coprocesador de propósito general , en lugar de renderizar y generar gráficos 3D. Al igual que la línea FireGL/FirePro , se les proporcionó más memoria y ancho de banda de memoria, pero las tarjetas FireStream no necesariamente tienen puertos de salida de video. Todas admiten punto flotante de precisión simple de 32 bits, y todas excepto la primera versión admiten precisión doble de 64 bits . La línea se asoció con nuevas API para proporcionar un rendimiento superior al que podían proporcionar las API de sombreado OpenGL y Direct3D existentes , comenzando con Close to Metal , seguido de OpenCL y el SDK de Stream Computing, y finalmente integrado en el SDK de APP .

Para cargas de trabajo de matemáticas de punto flotante altamente paralelas, las tarjetas pueden acelerar grandes cálculos en más de 10 veces; Folding@Home, el primero y uno de los usuarios más visibles de GPGPU, obtuvo un rendimiento de CPU de 20 a 40 veces superior. [ 2 ] Cada sombreador de píxeles y vértices, o sombreador unificado en modelos posteriores, puede realizar cálculos de punto flotante arbitrarios.

Historia

Tras el lanzamiento de los núcleos de GPU Radeon R520 y GeForce G70 con sombreadores programables , su gran capacidad de procesamiento de punto flotante atrajo la atención de grupos académicos y comerciales, que experimentaron con su uso para tareas no gráficas. Este interés llevó a ATI (y a Nvidia ) a crear productos GPGPU, capaces de calcular fórmulas matemáticas de propósito general de forma masivamente paralela, para procesar cálculos complejos que tradicionalmente se realizaban en CPU y coprocesadores matemáticos de punto flotante especializados . Se preveía que las GPGPU tendrían mejoras de rendimiento inmediatas de un factor de 10 o más, en comparación con los cálculos contemporáneos realizados únicamente con CPU de múltiples sockets.

Con el desarrollo del X1900 XFX de alto rendimiento casi terminado, ATI basó su primer diseño de Stream Processor en él, anunciándolo como el próximo ATI FireSTREAM junto con la nueva API Close to Metal en SIGGRAPH 2006. [ 3 ] El núcleo en sí permaneció prácticamente sin cambios, excepto por la duplicación de la memoria integrada y el ancho de banda, similar al FireGL V7350 ; el nuevo controlador y el soporte de software compensaron la mayor parte de la diferencia. Folding@home comenzó a usar el X1900 para computación general, utilizando una versión preliminar de la versión 6.5 del controlador ATI Catalyst, e informó una mejora de 20 a 40 veces en GPU sobre CPU. [ 2 ] El primer producto se lanzó a finales de 2006, renombrado como AMD Stream Processor después de la fusión con AMD. [ 4 ]

La marca pasó a llamarse AMD FireStream con la segunda generación de procesadores de flujo en 2007, basada en el chip RV650 con nuevos sombreadores unificados y soporte para doble precisión. [ 5 ] El DMA asíncrono también mejoró el rendimiento al permitir un grupo de memoria más grande sin la ayuda de la CPU. Se lanzó un modelo, el 9170, a un precio inicial de 1999 dólares. Los planes incluían el desarrollo de un procesador de flujo en un módulo MXM para 2008, para computadoras portátiles, [ 6 ] pero nunca se lanzó.

La tercera generación llegó rápidamente en 2008 con mejoras drásticas en el rendimiento del núcleo RV770; el 9250 tenía casi el doble de rendimiento que el 9170 y se convirtió en el primer procesador de un solo chip de teraflops , a pesar de haber bajado el precio a menos de 1000 dólares. [ 7 ] Un hermano mayor más rápido, el 9270, se lanzó poco después, por 1999 dólares.

En 2010 salió la última generación de FireStreams, las tarjetas 9350 y 9370, basadas en el chip Cypress presente en la HD 5800. Esta generación duplicó nuevamente el rendimiento con respecto a la anterior, a 2 teraflops en la 9350 y 2,6 teraflops en la 9370, [ 8 ] y fue la primera construida desde cero para OpenCL . Esta generación también fue la única que contaba con refrigeración totalmente pasiva, ya que la refrigeración activa no estaba disponible.

Se omitieron generaciones de las islas del norte y del sur.

FireStream fue sucedido por la línea de productos FirePro , basada en la microarquitectura Graphics Core Next . [ 9 ]

Modelos

  1. El rendimiento de precisión se calcula a partir de la velocidad de reloj base (o turbo) del núcleo en función de unaoperación FMA .

Software

El AMD FireStream se lanzó con una amplia gama de soporte de plataforma de software. Una de las empresas que lo apoyó fue PeakStream (adquirida por Google en junio de 2007), que fue la primera en proporcionar una versión beta abierta de software para dar soporte a CTM y AMD FireStream, así como a procesadores x86 y Cell (Cell Broadband Engine). Se afirmó que FireStream era 20 veces más rápido en aplicaciones típicas que las CPU convencionales después de ejecutar el software de PeakStream . RapidMind también proporcionó software de procesamiento de flujo que funcionaba con ATI y NVIDIA, así como con procesadores Cell. [ 19 ]

Kit de desarrollo de software

Después de abandonar su API Close to Metal de corta duración , AMD se centró en OpenCL . AMD lanzó por primera vez su SDK de Stream Computing (v1.0), en diciembre de 2007 bajo el EULA de AMD , para ejecutarse en Windows XP . [ 19 ] El SDK incluye "Brook+", una versión optimizada por hardware de AMD del lenguaje Brook desarrollado por la Universidad de Stanford, que a su vez es una variante del ANSI C ( lenguaje C ), de código abierto y optimizado para computación de flujo. La biblioteca AMD Core Math (ACML) y la biblioteca AMD Performance (APL) con optimizaciones para AMD FireStream y la biblioteca de video COBRA (renombrada posteriormente como "Accelerated Video Transcoding" o AVT) para la aceleración de la transcodificación de video también se incluirán. Otra parte importante del SDK, la capa de abstracción de cómputo (CAL), es una capa de desarrollo de software destinada al acceso de bajo nivel, a través de la interfaz de hardware CTM, a la arquitectura de la GPU para software de ajuste de rendimiento escrito en varios lenguajes de programación de alto nivel .

En agosto de 2011, AMD lanzó la versión 2.5 del kit de desarrollo de software ATI APP, [ 19 ] que incluye soporte para OpenCL 1.1 , un lenguaje de computación paralela desarrollado por el Grupo Khronos . El concepto de sombreadores de cómputo , llamado oficialmente DirectCompute, en la API de próxima generación de Microsoft llamada DirectX 11 ya está incluido en los controladores gráficos con soporte para DirectX 11.

SDK de aplicaciones AMD

Puntos de referencia

Según un sistema demostrado por AMD [ 20 ] con dos procesadores AMD Opteron de doble núcleo y dos núcleos de GPU Radeon R600 ejecutándose en Microsoft Windows XP Professional , se puede alcanzar 1 teraflop (TFLOP) mediante un cálculo de multiplicación y suma universal (MADD). En comparación, un procesador Intel Core 2 Quad Q9650 de 3,0 GHz de la época podía alcanzar 48 GFLOPS. [ 21 ]   

En una demostración del escaneo antivirus Kaspersky SafeStream, que había sido optimizado para procesadores de flujo AMD, se logró escanear 21 veces más rápido con la aceleración basada en R670 que con la búsqueda ejecutándose completamente en un Opteron, en 2007. [ 22 ]

Limitaciones

  • Brook+ no admite funciones recursivas porque todas las llamadas a funciones se insertan en línea en tiempo de compilación. Con CAL, las funciones (recursivas o no) admiten hasta 32 niveles. [ 23 ]
  • Solo se admite el filtrado de texturas bilineal; no se admiten las texturas con mipmapping ni el filtrado anisotrópico .
  • Las funciones no pueden tener un número variable de argumentos. El mismo problema se presenta con las funciones recursivas.
  • La conversión de números de coma flotante a enteros en las GPU se realiza de forma diferente que en las CPU x86; no cumple totalmente con la norma IEEE-754 .
  • Realizar la sincronización global en la GPU no es muy eficiente, lo que obliga a la GPU a dividir el kernel y sincronizarlo en la CPU. Dado el número variable de multiprocesadores y otros factores, es posible que no exista una solución perfecta para este problema.
  • El ancho de banda del bus y la latencia entre la CPU y la GPU pueden convertirse en un cuello de botella .

Véase también

Referencias

  1. Comunicado de prensa de AMD
  2. 1 2 Gasior, Geoff (16 de octubre de 2006). "Una mirada más cercana a Folding@home en la GPU" . The Tech Report . Recuperado el 26 de mayo de 2016 .
  3. Presentación de ATI SIGGRAPH 2006 (PDF) (Informe). ATI Technologies. Archivado del original (PDF) el 21/12/2016 . Consultado el 26/05/2016 .
  4. Valich, Theo (16 de noviembre de 2006). "Se revela la tarjeta ATI FireSTREAM AMD Stream" . The Inquirer . Archivado del original el 21 de agosto de 2009. Consultado el 26 de mayo de 2016 .
  5. "AMD presenta el primer procesador de flujo con tecnología de punto flotante de doble precisión" . AMD. 8 de noviembre de 2007. Archivado del original el 19 de junio de 2017. Consultado el 26 de mayo de 2016 .
  6. Presentación de AMD WW HPC 2007 (PDF) (Informe). pág. 37. 
  7. "El procesador de flujo de AMD es el primero en romper la barrera del teraflop" . AMD. 16 de junio de 2008. Archivado del original el 19 de junio de 2017. Consultado el 26 de mayo de 2016 .
  8. "Los nuevos aceleradores de cómputo GPU AMD FireStream™ ofrecen casi el doble de rendimiento máximo en precisión simple y doble, y rendimiento por vatio en comparación con la generación anterior" . AMD. 23 de junio de 2010. Archivado del original el 19 de junio de 2017. Consultado el 26 de mayo de 2016 .
  9. Smith, Ryan (14 de agosto de 2012). "Análisis de AMD Firepro W9000 W8000, Parte 1" . Anandtech.com. Archivado del original el 18 de agosto de 2012. Consultado el 28 de junio de 2016 .
  10. ^ "Más allá de 3D - ATI R580: Radeon X1900 XTX y Crossfire" . Más allá de 3D .
  11. "AMD presenta el primer procesador de flujo con tecnología de punto flotante de doble precisión" . AMD. 8 de noviembre de 2007. Consultado el 26 de mayo de 2016 .
  12. "Especificaciones de AMD FireStream 9170" . TechPowerUp .
  13. AMD FireStream 9250 - Página del producto archivada el 13 de mayo de 2010 en Wayback Machine
  14. "Especificaciones de AMD FireStream 9250" . TechPowerUp .
  15. AMD FireStream 9270 - Página del producto archivada el 16 de febrero de 2010 en Wayback Machine
  16. "Especificaciones de AMD FireStream 9270" . TechPowerUp .
  17. "Especificaciones de AMD FireStream 9350" . TechPowerUp .
  18. "Especificaciones de AMD FireStream 9370" . TechPowerUp .
  19. 1 2 3 Página de descarga del SDK de AMD APP Archivada el 3 de septiembre de 2012 en Wayback Machine y EULA del SDK de Stream Computing Archivada el 6 de marzo de 2009 en Wayback Machine , recuperada el 29 de diciembre de 2007
  20. Informe HardOCP archivado el 4 de marzo de 2016 en Wayback Machine , consultado el 17 de julio de 2007.
  21. Métricas de cumplimiento de exportación de microprocesadores Intel
  22. Valich, Theo (12 de septiembre de 2007). "GPGPU acelera drásticamente el software antivirus" . The Inquirer . Archivado del original el 23 de septiembre de 2009. Consultado el 26 de mayo de 2016 .
  23. Guía de referencia de idiomas intermedios de AMD, agosto de 2008
  • Preguntas frecuentes sobre la tecnología ATI Stream (archivado el 30/12/2010 en Wayback Machine)
  • ATI Stream publicó artículos y presentaciones.
  • SDK de ATI Stream
  • Artículo de AnandTech sobre computación distribuida
  • Guía de referencia de lenguaje intermedio de AMD (CAL) v2.0 Feb '09