Articulo de referencia

Larrabee (microarquitectura)

La arquitectura de GPU Larrabee, presentada en la conferencia SIGGRAPH en agosto de 2008. Larrabee es el nombre en clave de un chip GPGPU cancelado que Intel estaba desarrolland...

La arquitectura de GPU Larrabee, presentada en la conferencia SIGGRAPH en agosto de 2008.

Larrabee es el nombre en clave de un chip GPGPU cancelado que Intel estaba desarrollando por separado de su línea actual de aceleradores gráficos integrados . Recibe su nombre del Monte Larrabee o del Parque Estatal Larrabee en el estado de Washington. [ 1 ] [ 2 ] El chip iba a ser lanzado en 2010 como el núcleo de una tarjeta gráfica 3D para consumidores , pero estos planes fueron cancelados debido a retrasos y cifras de rendimiento iniciales decepcionantes. [ 3 ] [ 4 ] El proyecto para producir un producto comercial de GPU directamente a partir del proyecto de investigación Larrabee fue terminado en mayo de 2010 [ 5 ] y su tecnología fue transferida al Xeon Phi .

Casi una década después, el 12 de junio de 2018, la idea de una GPU dedicada de Intel resurgió con el deseo de Intel de crear una GPU discreta para 2020. [ 6 ] Este proyecto eventualmente se convertiría en las series Intel Xe e Intel Arc , lanzadas en septiembre de 2020 y marzo de 2022, respectivamente, pero ambas no estaban conectadas con el trabajo en el proyecto Larrabee.

Estado del proyecto

El 4 de diciembre de 2009, Intel anunció oficialmente que la primera generación de Larrabee no se lanzaría como una GPU para el consumidor. [ 7 ] En cambio, se lanzaría como una plataforma de desarrollo para gráficos y computación de alto rendimiento . La razón oficial del cambio estratégico se atribuyó a retrasos en el desarrollo de hardware y software. [ 8 ] El 25 de mayo de 2010, el blog Technology@Intel anunció que Larrabee no se lanzaría como una GPU, sino como un producto para computación de alto rendimiento que competiría con la Nvidia Tesla . [ 9 ]

Esta arquitectura multiprocesador Intel MIC, anunciada en 2010, heredó muchos elementos de diseño del proyecto Larrabee, pero no funciona como una unidad de procesamiento gráfico; el producto está concebido como un coprocesador para computación de alto rendimiento. La tarjeta prototipo se denominó Knights Ferry , y se planeó la producción de una tarjeta de producción fabricada con un  proceso de 22 nm, denominada Knights Corner, para 2012 o posteriormente. [ 10 ]

Comparación con productos de la competencia

Según Intel, Larrabee cuenta con una arquitectura totalmente programable, a diferencia de las tarjetas gráficas de la generación actual, que solo son parcialmente programables.

Larrabee puede considerarse un híbrido entre una CPU multinúcleo y una GPU , y presenta similitudes con ambas. Su jerarquía de caché coherente y su compatibilidad con la arquitectura x86 son propias de una CPU, mientras que sus amplias unidades vectoriales SIMD y su hardware de muestreo de texturas son propios de una GPU.

Como GPU, Larrabee habría soportado gráficos 3D rasterizados tradicionales ( Direct3D y OpenGL ) para juegos. Sin embargo, su hibridación de características de CPU y GPU también debería haber sido adecuada para tareas de GPU de propósito general (GPGPU) o procesamiento de flujos . Por ejemplo, podría haber realizado trazado de rayos o procesamiento físico , [ 11 ] en tiempo real para juegos o fuera de línea para investigación científica como componente de una supercomputadora . [ 12 ]

La presentación inicial de Larrabee generó algunas críticas de los competidores de GPU. En NVISION 08 , un empleado de Nvidia calificó el documento de Intel en SIGGRAPH sobre Larrabee como "exageración publicitaria" y citó a un analista de la industria ( Peter Glaskowsky ) que especuló que la arquitectura de Larrabee era "como una GPU de 2006". [ 13 ] En junio de 2009, Intel afirmó que los prototipos de Larrabee estaban a la par con la Nvidia GeForce GTX 285. [ 14 ] Justin Rattner , CTO de Intel , dio una conferencia magistral en la conferencia Supercomputing 2009 el 17 de noviembre de 2009. Durante su charla, demostró un procesador Larrabee con overclocking que superaba un teraFLOPS en rendimiento. Afirmó que esta era la primera demostración pública de un sistema de un solo chip que superaba un teraFLOPS. Señaló que se trataba de silicio inicial, dejando así abierta la cuestión del rendimiento final de la arquitectura. Debido a que esto era solo una quinta parte de lo que ofrecían las tarjetas gráficas de la competencia disponibles, Larrabee fue cancelada "como producto gráfico discreto independiente" el 4 de diciembre de 2009. [ 3 ]

Diferencias con las GPU contemporáneas

Larrabee fue concebida para diferenciarse de las GPU discretas más antiguas, como la serie GeForce 200 y la serie Radeon 4000, en tres aspectos principales:

  • Se trataba de utilizar el conjunto de instrucciones x86 con extensiones específicas de Larrabee. [ 15 ]
  • Se suponía que contaría con coherencia de caché en todos sus núcleos. [ 15 ]
  • Se suponía que incluiría muy poco hardware gráfico especializado, realizando en su lugar tareas como el almacenamiento en búfer Z, el recorte y la mezcla mediante software, utilizando un enfoque de renderizado basado en mosaicos . [ 15 ]

Se esperaba que esto hiciera a Larrabee más flexible que las GPU actuales, permitiendo una mayor diferenciación en la apariencia entre juegos u otras aplicaciones 3D. El documento de Intel en SIGGRAPH 2008 mencionaba varias características de renderizado que eran difíciles de lograr en las GPU actuales: lectura del destino de renderizado, transparencia independiente del orden , mapeo de sombras irregular y trazado de rayos en tiempo real . [ 15 ]

Las GPU más recientes, como la Radeon HD 5xxx de ATI y la serie GeForce 400 de Nvidia, ofrecen capacidades de computación de propósito general cada vez más amplias a través de DirectX11 DirectCompute y OpenCL, así como la tecnología CUDA propietaria de Nvidia , lo que les confiere muchas de las capacidades de Larrabee.

Diferencias con las CPU

Los núcleos del procesador x86 de Larrabee diferían en varios aspectos de los núcleos de las CPU Intel actuales, como el Core 2 Duo o el Core i7 :

  • Sus núcleos x86 se basaban en el diseño mucho más simple del Pentium P54C , que aún se mantiene para su uso en aplicaciones embebidas . [ 16 ] El núcleo derivado del P54C es superescalar , pero no incluye ejecución fuera de orden , aunque se ha actualizado con características modernas como el soporte para x86-64 , [ 15 ] similar a la microarquitectura Bonnell utilizada en Atom . La ejecución en orden implica un menor rendimiento para los núcleos individuales, pero como son más pequeños, se pueden colocar más en un solo chip, lo que aumenta el rendimiento general. La ejecución también es más determinista, por lo que la planificación de instrucciones y tareas puede ser realizada por el compilador.
  • Cada núcleo contenía una unidad de procesamiento vectorial de 512 bits , capaz de procesar 16 números de coma flotante de precisión simple a la vez. Esto es similar a las unidades SSE de la mayoría de los procesadores x86, pero cuatro veces más grande, con características adicionales como instrucciones de dispersión/recolección y un registro de máscara diseñado para facilitar y agilizar el uso de la unidad vectorial. Larrabee debía obtener la mayor parte de su potencia de cálculo de estas unidades vectoriales. [ 15 ]
  • Incluía una característica principal de hardware gráfico de función fija : unidades de muestreo de texturas . Estas realizan filtrado trilineal y anisotrópico y descompresión de texturas . [ 15 ]
  • Tenía un bus de anillo de 1024 bits (512 bits en cada dirección) para la comunicación entre núcleos y con la memoria. [ 15 ] Este bus se puede configurar en dos modos para admitir productos Larrabee con 16 núcleos o más, o con menos de 16 núcleos. [ 17 ]
  • Incluía instrucciones explícitas de control de caché para reducir el saturamiento de la caché durante las operaciones de transmisión que solo leen/escriben datos una vez. [ 15 ] También se admite la precarga explícita en la caché L2 o L1.
  • Cada núcleo admitía multihilo entrelazado de cuatro vías, con cuatro copias de cada registro del procesador . [ 15 ]

En teoría, los núcleos del procesador x86 de Larrabee habrían podido ejecutar software de PC existente, o incluso sistemas operativos. Una versión diferente del procesador podría haberse instalado en los zócalos de CPU de la placa base mediante QuickPath , [ 18 ] pero Intel nunca anunció ningún plan al respecto. Aunque el compilador nativo de C/C++ de Larrabee incluía autovectorización y muchas aplicaciones podían ejecutarse correctamente después de ser recompiladas, se esperaba que la máxima eficiencia requiriera la optimización del código mediante intrínsecos vectoriales de C++ o código ensamblador Larrabee en línea. [ 15 ] Sin embargo, como en todas las GPGPU, no todo el software se habría beneficiado de la utilización de una unidad de procesamiento vectorial. Un sitio de periodismo tecnológico afirma que las capacidades gráficas de Larrabee estaban planeadas para integrarse en CPU basadas en la microarquitectura Haswell . [ 19 ]

Comparación con el motor de banda ancha Cell

La filosofía de Larrabee de usar muchos núcleos pequeños y simples era similar a las ideas detrás del procesador Cell . Hay algunas similitudes adicionales, como el uso de un bus de anillo de alto ancho de banda para la comunicación entre núcleos. [ 15 ] Sin embargo, hubo muchas diferencias significativas en la implementación que se esperaba que simplificaran la programación de Larrabee.

  • El procesador Cell incluye un procesador principal que controla muchos procesadores más pequeños. Además, el procesador principal puede ejecutar un sistema operativo. En cambio, todos los núcleos de Larrabee son iguales, y no se esperaba que Larrabee ejecutara un sistema operativo.
  • Cada núcleo de la celda ( SPE ) tiene un almacenamiento local, para el cual se utilizan operaciones explícitas ( DMA ) para todos los accesos a la DRAM. No se permiten lecturas ni escrituras ordinarias en la DRAM. En Larrabee, todas las memorias dentro y fuera del chip están bajo una jerarquía de caché coherente gestionada automáticamente , de modo que sus núcleos comparten virtualmente un espacio de memoria uniforme mediante instrucciones de copia estándar ( MOV ). Cada núcleo de Larrabee tenía 256  KB de caché L2 local, y un acceso que alcanza otro segmento L2 tarda más en completarse. [ 15 ]
  • Debido a la coherencia de caché mencionada anteriormente, cada programa que se ejecutaba en Larrabee disponía prácticamente de una gran cantidad de memoria lineal, al igual que en una CPU tradicional de propósito general. En cambio, una aplicación para Cell debería programarse teniendo en cuenta el espacio de memoria limitado del almacenamiento local asociado a cada SPE (para más detalles, véase el artículo sobre Cell ), pero con un ancho de banda teóricamente mayor. Sin embargo, dado que el acceso a la caché L2 local es más rápido, aún se puede obtener una ventaja al utilizar métodos de programación propios de Cell.
  • Cell utiliza DMA para la transferencia de datos hacia y desde las memorias locales en el chip, lo que permite el mantenimiento explícito de las superposiciones almacenadas en la memoria local para acercar la memoria al núcleo y reducir las latencias de acceso, pero requiere un esfuerzo adicional para mantener la coherencia con la memoria principal; mientras que Larrabee utilizó una caché coherente con instrucciones especiales para la manipulación de la caché (en particular, sugerencias de desalojo de caché e instrucciones de precarga), lo que mitigó las penalizaciones por fallos y desalojo y redujo la contaminación de la caché (por ejemplo, para las canalizaciones de renderizado y otros cálculos de tipo flujo) a costa de tráfico y sobrecarga adicionales para mantener la coherencia de la caché. [ 15 ]
  • Cada núcleo de procesamiento en Cell ejecuta un solo hilo a la vez, en orden. Un núcleo en Larrabee podía ejecutar hasta cuatro hilos, pero solo uno a la vez. La tecnología hyperthreading de Larrabee ayudó a disimular las latencias inherentes a la ejecución en orden.

Comparación con Intel GMA

Intel comenzó a integrar una línea de GPU en placas base bajo la marca Intel GMA en 2004. Al estar integrados en las placas base (las versiones más recientes, como las lanzadas con Sandy Bridge, se incorporan en el mismo chip que la CPU), estos chips no se vendían por separado. Si bien el bajo costo y el consumo de energía de los chips Intel GMA los hacían adecuados para portátiles pequeños y tareas menos exigentes, carecían de la potencia de procesamiento gráfico 3D necesaria para competir con las GPU contemporáneas de Nvidia y AMD/ATI por una cuota del mercado de ordenadores de juegos de gama alta, el mercado de computación de alto rendimiento ( HPC ) o un lugar en las consolas de videojuegos más populares . En cambio, Larrabee se vendería como una GPU discreta, separada de las placas base, y se esperaba que tuviera un rendimiento lo suficientemente bueno como para ser considerada en la próxima generación de consolas de videojuegos. [ 20 ] [ 21 ]

El equipo que trabajó en Larrabee era independiente del equipo de Intel GMA. El hardware fue diseñado por un equipo recién formado en la sede de Intel en Hillsboro, Oregón , distinto del que diseñó Nehalem . El software y los controladores fueron escritos por un equipo también recién formado. La pila 3D en concreto fue escrita por desarrolladores de RAD Game Tools (entre ellos Michael Abrash ). [ 22 ]

El Instituto de Computación Visual de Intel investigó tecnologías básicas y aplicadas que podrían aplicarse a productos basados ​​en Larrabee. [ 23 ]

Datos de rendimiento proyectados

Resultados de la evaluación comparativa de 2008Artículo de SIGGRAPH que muestra el rendimiento previsto como una función aproximadamente lineal del número de núcleos de procesamiento.

El documento de Intel en SIGGRAPH 2008 describe simulaciones precisas a nivel de ciclo (incluyendo limitaciones de memoria, cachés y unidades de textura) del rendimiento proyectado de Larrabee. [ 15 ] Los gráficos muestran cuántos  núcleos de Larrabee de 1 GHz se requieren para mantener 60 fotogramas/s a una resolución de 1600×1200 en varios juegos populares. Se requieren aproximadamente 25 núcleos para Gears of War sin antialiasing, 25 núcleos para FEAR con antialiasing 4× y 10 núcleos para Half-Life 2: Episode Two con antialiasing 4×. Intel afirmó que Larrabee probablemente funcionaría más rápido que 1  GHz, por lo que estos números no representan núcleos reales, sino segmentos de tiempo virtuales de los mismos. Otro gráfico muestra que el rendimiento en estos juegos escala casi linealmente con el número de núcleos hasta 32 núcleos. Con 48 núcleos, el rendimiento cae al 90% de lo que se esperaría si la relación lineal continuara. [ 24 ]

Un artículo de PC Watch de junio de 2007 sugería que los primeros chips Larrabee contarían con 32 núcleos de procesador x86 y saldrían a finales de 2009, fabricados con un proceso de 45 nanómetros . Los chips con algunos núcleos defectuosos debido a problemas de rendimiento se venderían como una versión de 24 núcleos. Más adelante, en 2010, Larrabee se reduciría para un proceso de fabricación de 32 nanómetros, lo que permitiría una versión de 48 núcleos. [ 25 ]

La última declaración de rendimiento se puede calcular (teóricamente este es el rendimiento máximo posible) de la siguiente manera: 32 núcleos × 16 SIMD de precisión simple flotante/núcleo × 2 FLOP (multiplicación-suma fusionada) × 2  GHz = 2 TFLOPS teóricamente.

manifestaciones públicas

El 22 de septiembre de 2009, se realizó una demostración pública de las capacidades de trazado de rayos de Larrabee en el Intel Developer Forum de San Francisco. Se mostró en tiempo real una versión experimental de Enemy Territory: Quake Wars, titulada Quake Wars: Ray Traced . La escena presentaba una superficie de agua con trazado de rayos que reflejaba con precisión los objetos circundantes, como un barco y varios vehículos voladores. [ 26 ] [ 27 ] [ 28 ]

El 17 de noviembre de 2009, durante la conferencia SC09 en Portland, se presentó una segunda demostración a cargo del director de tecnología de Intel, Justin Rattner . Una tarjeta Larrabee logró un rendimiento de 1006 GFLops en el cálculo SGEMM 4Kx4K.

Linus Sebastian adquirió y revisó una muestra de ingeniería de una tarjeta Larrabee en un video publicado el 14 de mayo de 2018. Sin embargo, no logró que la tarjeta proporcionara salida de video, ya que la placa base mostraba el código POST D6. [ 29 ] En 2022, el YouTuber Roman “der8auer” Hartung demostró otra tarjeta, la cual funcionó y emitió una señal de video, pero no fue capaz de aceleración 3D debido a la falta de controladores. [ 30 ]

Véase también

Referencias

  1. Forsyth, Tom (noviembre de 2019). "SMACNI a AVX512: el ciclo de vida de un conjunto de instrucciones" (PDF) . Recuperado el 4 de julio de 2024 .
  2. Forsyth, Tom (22 de diciembre de 2020). "Tom Forsyth sobre la denominación del conjunto de instrucciones de Larrabee" . Twitter.com . Archivado del original el 22 de diciembre de 2020. Consultado el 22 de diciembre de 2020 .
  3. 1 2 Crothers, Brooke (4 de diciembre de 2009). "Intel: Cancelado el chip gráfico inicial de Larrabee" . CNET . CBS Interactive .
  4. Charlie Demerjian (4 de diciembre de 2009). "Intel elimina el Larrabee para consumidores y se centra en futuras variantes - SemiAccurate" . SemiAccurate.com . Consultado el 9 de abril de 2017 .
  5. Smith, Ryan (25 de mayo de 2010). "Intel elimina la GPU Larrabee y no lanzará al mercado una tarjeta gráfica dedicada" . AnandTech . Archivado del original el 28 de mayo de 2010.
  6. Smith, Ryan (13 de junio de 2018). "La primera GPU discreta (moderna) de Intel se lanzará en 2020" . Anandtech . Archivado del original el 13 de junio de 2018. Consultado el 4 de noviembre de 2018 .
  7. Stokes, Jon (5 de diciembre de 2009). "La GPU Larrabee de Intel queda en suspenso, habrá más noticias en 2010" . Ars Technica . Condé Nast .
  8. Smith, Ryan. "Intel cancela los productos minoristas de Larrabee, pero el proyecto Larrabee sigue adelante" . AnandTech.com . Consultado el 9 de abril de 2017 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  9. "Blogs@Intel - Blogs de Intel" . Intel.com . Consultado el 9 de abril de 2017 .
  10. Rupert Goodwins (1 de junio de 2010), "Intel presenta la plataforma Knights multinúcleo para HPC" , zdnet.com , ZDNet
  11. Stokes, Jon (17 de septiembre de 2007). "Intel adquiere un motor de física para juegos para su próximo producto GPU" . Ars Technica . Consultado el 17 de septiembre de 2007 .
  12. Stokes, Jon (27 de abril de 2007). "Aclarando la confusión sobre Larrabee de Intel" . Ars Technica . Consultado el 1 de junio de 2007 .
  13. "La actuación de Larrabee: más allá de la frase" . CNet.com . Consultado el 9 de abril de 2017 .
  14. "La 'Larrabee' de Intel está a la par con la GeForce GTX 285" . TomsHardware.com . 2 de junio de 2009. Consultado el 9 de abril de 2017 .
  15. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Seiler, L.; Cavin , D.; Espasa, E.; Grochowski, T.; Juan, M.; Hanrahan, P.; Carmean, S.; Sprangle, A.; Forsyth, J.; Abrash, R.; Dubey, R.; Junkins, E.; Lake, T.; Sugerman, P. (agosto de 2008). "Larrabee: una arquitectura x86 de muchos núcleos para computación visual" (PDF) . ACM Transactions on Graphics . Actas de ACM SIGGRAPH 2008. 27 (3): 18:11. doi : 10.1145/1360612.1360617 . ISSN 0730-0301 . S2CID 52799248. Archivado del original (PDF) el 7 de marzo de 2021. Consultado el 6 de agosto de 2008 .  
  16. "La GPU Larrabee de Intel se basa en tecnología secreta del Pentágono, más o menos [ Actualizado ] " . Ars Technica . 9 de julio de 2008. Consultado el 6 de agosto de 2008 .
  17. Glaskowsky, Peter. "Larrabee de Intel: más y menos de lo que parece" . CNET . Consultado el 20 de agosto de 2008 .
  18. Stokes, Jon (5 de junio de 2007). "Aclarando la confusión sobre Larrabee de Intel, parte II" . Ars Technica . Recuperado el 16 de enero de 2008 .
  19. "Intel utilizará gráficos Larrabee en sus CPU - SemiAccurate" . SemiAccurate.com . 19 de agosto de 2009. Consultado el 9 de abril de 2017 .
  20. Chris Leyton (13 de agosto de 2008). "¿Se está preparando Larrabee de Intel para las consolas de próxima generación?" . Archivado del original el 17 de agosto de 2008. Consultado el 24 de agosto de 2008 .
  21. Charlie Demerjian (5 de febrero de 2009). "Intel diseñará la GPU de PlayStation 4" . Archivado del original el 11 de mayo de 2009. Consultado el 28 de agosto de 2009 .
  22. Wilson, Anand Lal Shimpi y Derek. "Revelación de la arquitectura Larrabee de Intel: un primer movimiento calculado" . AnandTech.com . Archivado del original el 17 de mayo de 2010. Consultado el 9 de abril de 2017 .
  23. Ng, Jansen (13 de mayo de 2009). "Intel Visual Computing Institute abre sus puertas e impulsará el desarrollo de "Larrabee" . DailyTech . Archivado del original el 16 de mayo de 2009. Consultado el 13 de mayo de 2009 .
  24. Steve Seguin (20 de agosto de 2008). "El 'Larrabee' de Intel sacudirá [ sic ] a AMD y Nvidia" . Tom's Hardware . Consultado el 24 de agosto de 2008 .
  25. "Intel está promocionando la CPU de 32 núcleos "Larrabee"" (en japonés). pc.watch.impress.co.jp . Consultado el 6 de agosto de 2008 .traducción
  26. Geeks3D (12/06/2008), Ray Traced Quake Wars , archivado del original el 17/09/2021 , recuperado el 07/03/2022.{{citation}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  27. "¡Ilumínalo! Quake Wars* recibe trazado de rayos" (PDF) . Archivado (PDF) del original el 15 de febrero de 2010. Recuperado el 7 de marzo de 2022 .
  28. "Quake Wars: Ray Traced" . 18 de agosto de 2008. Archivado del original el 19 de julio de 2011.
  29. Linus Tech Tips (14/05/2018), ¡ ¡TENEMOS LA TARJETA GRÁFICA PROTOTIPO DE INTEL!! , archivado del original el 21/12/2021 , recuperado el 10/05/2019
  30. der8auer EN (24/12/2022), HW-Legends #13: Intel canceló este proyecto: la tarjeta más cara de mi colección (Larrabee) , archivado del original el 23/07/2023 , recuperado el 23/07/2023{{citation}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  • Vídeo de un trazador de rayos funcionando en una de las primeras tarjetas Larrabee en IDF '09.
  • Documentos técnicos sobre LRBni, simulaciones físicas y más utilizando Larrabee.