A finales de los años 90 Intel nos dio una enorme decepción, tras pactar con Real3D, la antigua Lockheed Martin, todo el mundo se esperaba una aceleradora 3D de alto rendimiento. No obstante las Intel i740 fueron un fiasco enorme. Tras más de veinte años, Intel vuelve al ruedo de las tarjetas gráficas gaming con su Intel ARC Alchemist del que os vamos a describir su arquitectura.
Desde hace más de una década el rendimiento en un PC no solo es cosa de la CPU, sino que la GPU. Esta última también toma parte a la hora de acelerar la ejecución de los programas y no solo para renderizar gráficos, ya que a día de hoy existen centenares de aplicaciones que para acelerar sus algoritmos en paralelo hacen uso de la capacidad de procesamiento en paralelo de las GPU para conseguir el máximo rendimiento.
El hecho de que Intel se quedará atrás suponía que sus rivales directas y en especial AMD tuvieran ventaja. Gracias al excelente rendimiento de GPU en AMD han obtenido varios contratos del gobierno de los Estados Unidos para el desarrollo de superordenadores. Todo ello en medio del paradigma que es la carrera para llegar al ExaFLOP de potencia de cálculo.
Esto fue el punto de inflexión para Intel, quien contrató a Raja Koduri desde AMD y montó un equipo a su alrededor con un objetivo. La creación de una arquitectura gráfica escalable que le permitiese competir contra AMD y NVIDIA, desde las GPU integradas en las CPU hasta las GPU HPC. Todo ello sin olvidarnos de las tarjetas gráficas para gaming. Donde las Intel ARC Alchemist son la primera generación con las que Intel pretende recortar cuota de mercado a sus rivales.
Un viaje a la arquitectura del Intel ARC Alchemist
Como si nos eleváramos en el aire cada vez más, vamos a desglosar los diferentes componentes que forman parte de la primera GPU para gaming entusiasta de Intel. Empezando desde lo específico para ir a lo global y para que podáis comprender cuál es la organización o arquitectura de la arquitectura Intel ARC Alchemist y cómo se compara con sus contrapartidas de NVIDIA y AMD. Se trata de una GPU Gaming que pese a estar construida por Intel será fabricada en el proceso N6 de TSMC.
La arquitectura Intel ARC Alchemist la veremos tanto en tarjetas gráficas dedicadas para PCs de escritorio como en portátiles gaming en diversas configuraciones donde el ancho de banda de cada una de ellas así como la cantidad de Render Slices variará. Siendo la versión con 8 Render Slices la más avanzada de todas ellas. Se espera su fecha de lanzamiento para una vez entrado el 2022.
El Xe-Core, la base del Intel ARC Alchemist
Lo primero que tenemos que tener en cuenta es que los llamados EU Cores han desaparecido para ser reemplazados por los Xe Cores, pero no son lo mismo, ya que cada Xe Core equivale a la Compute Unit de AMD o al SM de NVIDIA, pero con una serie de cambios que hay que destacar y es que Intel ha dejado fuera al Sampler o unidad de texturas y otras unidades de función fija. No las ha descartado, sino que así lo tienen más fácil para la creación de GPUs no dedicadas a gráficos.
Cada Xe-Core en el Intel ARC Alchemist está compuesto por 16 Vector Engines, cada uno de ellos es una unidad SIMD de 256 bits y por tanto está compuesta por 8 ALUs de coma flotante de 32 bits haciendo un total de 128 unidades de cálculo por Xe-Core. Una proporción equivalente a existente en las NVIDIA RTX 3000 y el doble que en AMD RDNA 2.
En cuanto a las unidades XMX son equivalentes a los Tensor Core de NVIDIA y por tanto están pensadas para acelerar el cálculo con matrices, ideales para algoritmos basados en redes neuronales convolucionales. En lo que a potencia bruta se refiere, las unidades XMX tienen el doble de potencia de cálculo que sus equivalentes en las NVIDIA RTX 3000. Aunque al igual que la arquitectura de NVIDIA, parece ser que estas unidades comparten los registros y el planificador con los Vector Engines. Estas unidades serán clave para su algoritmo XeSS, el cual es el arma de Intel frente al Intel
Cachés de primer nivel, unidad de texturas y Ray Tracing
Sin salirnos del Xe-Core podemos observar que tanto la caché de primer nivel de instrucciones como la de datos se encuentran dentro de cada Xe-Core. Esto es un elemento diferencial respecto a NVIDIA y AMD, ya que su caché de instrucciones suele ser compartida por dos unidades equivalentes. Otro cambio respecto a la caché de primer nivel viene en comparación con anteriores arquitecturas de Intel.
Hasta sus GPU de la Gen 11, Intel había separado la caché para texturas de la caché de datos. Algo que no es habitual hacer, ahora no solo la han unificado, sino que la memoria local comparte el mismo espacio que la caché de datos. Por lo que los desarrolladores pueden escoger cuánto se asigna a la caché L1 de datos y cuanto a la memoria local. La cual no es una caché, sino una pequeña RAM para almacenar de manera temporal ciertas variables e interconectar entre sí las diferentes unidades.
La caché de datos se utiliza por la unidad de texturas, llamada Sampler por la propia Intel y la unidad para la intersección en el Ray Tracing. Esta última parece ser más avanzada que la de AMD al estar separada de la unidad de texturas y poder realizar por sí misma el recorrido de la estructura de datos que es el árbol BVH. Por lo que es más parecida al RT Core de NVIDIA, pero desconocemos por el momento cuál es su rendimiento, pero dado que el lanzamiento de la arquitectura es para 2022 esperamos un rendimiento equivalente a la de las NVIDIA RTX 3000 en ese aspecto.
Muchos Xe-Cores hacen un Render Slice
El Render Slice es un conjunto de unidades que reúnen en su interior tres unidades de función fija nombradas por Intel como Geometry, Rasterizer y HiZ. Las cuales se encargan de una serie de funcionalidades comunes en todas las GPU y que son esenciales para mostrar gráficos a tiempo real.
El primero de ellos es la unidad de rasterizado o Rasterizer y se encarga de la tarea común de proyectar la imagen sobre la pantalla y convertir la geometría de la escena en 3D que está compuesta por vértices a un espacio cartesiano en dos dimensiones compuesto por píxeles o fragmentos. Al igual que el resto de unidades de rasterizado modernas, Intel ha adoptado el rasterizado por tiles sobre la caché LLC de la GPU.
El segundo es la clásica unidad de teselación que utilizan muchos juegos para añadir densidad geométrica en los juegos. La cual es llamada Geometry, desconocemos si es un Geometry Engine contemporáneo como el que llevan las GPU de AMD y NVIDIA, pero suponemos que si desde el momento en que este tipo de unidades es esencial para el Mesh Shading. Y no olvidemos que Intel ARC Alchemist soporta DirectX 12 Ultimate.
La tercera unidad se llama Hi-Z, hay que tener en cuenta que cuando se realiza el rasterizado lo que se hace es generar el Z-Buffer o búfer de profundidad, que lo que hace es almacenar la distancia a la que están respecto a la cámara. La idea del Hi-Z es que en vez utilizar un gran búfer de imagen como Z-Buffer lo que hacemos es hacer uso de una jerarquía de los mismos para acelerar el acceso al mismo. Hay que tener en cuenta que muchos algoritmos de los juegos como por ejemplo los tradicionales mapas de sombras lo utilizan y también es esencial para el Occlusion Culling. El cual le permite a la GPU eliminar los fragmentos con un valor Z más alejado de la cámara.
Tampoco sin salirnos del Render Slice tenemos a los Pixel Backend, el nombre que le ha dado Intel a las clásicas unidades encargadas de generar el búfer de imagen final. Al final del pipeline, cuando el Pixel Shader ha dado color a cada píxel lo que hace es enviarlo al Pixel Backend y de ahí a la caché L2 de la GPU o la memoria.
Varios Render Slice y la caché L2 hacen una GPU
Si nos elevamos aún más podemos ver la arquitectura del Intel ARC Alchemist en todo su esplendor, compuesta por 8 Render Slices y una enorme caché de segundo nivel como LLC del sistema. La cual se encarga de dar coherencia de caché a todas los Render Slice que forman parte de la GPU. Al igual que el resto de las GPUs contemporáneas varias unidades en el Intel Xe HPG importan y exportan datos a la caché L2, por lo que su funcionamiento no tiene más secreto.
¿Qué unidades tienen contacto con la caché L2? Pues las siguientes:
Las cachés de primer nivel en cada Xe-Core
Las unidades de función fija que os hemos comentado antes: Geometry, Rasterizer y Hi-Z
Los Pixel Backend.
En cuanto al motivo por el cual decimos que es casi toda la GPU y por qué hemos de tener en cuenta que Intel lanzará sus primeras GPU Intel ARC Alchemist en el primer trimestre de 2022 y aún tienen datos que revelar sobre la misma. Entre ellos la configuración del procesador de comandos y los clásicos aceleradores de toda GPU como son el controlador de pantalla, el códec de video, las unidades DMA y cualquier otra unidad que Intel no ha revelado todavía.
Esto es todo lo que podemos decir hasta el momento de la nueva arquitectura de Intel.
The post ¿Intel a la altura de AMD y NVIDIA en GPU gaming? Mira su arquitectura appeared first on HardZone.