viernes, 24 de marzo de 2017

Más novedades de AMD [Actualizado 25/03/2017]

Desde los dos últimos posts hablando de RX Vega y Ryzen 7 han aparecido filtraciones acerca de lo que va a salir durante el segundo trimestre de este año: RX Vega, Ryzen 5 y Naples.


Pila gráfica en GNU Linux (2014, Wikipedia)

Comencemos por RX Vega. AMD desarrolla drivers libres para Linux junto con el software de espacio de usuario para GNU. En los últimos días se han publicado parches en los que se incluye el código necesario para hacer funcionar las tarjetas gráficas basadas en Vega. Se ha encontrado un total de 7 identificadores lo que potencialmente se pueden convertir en 7 gráficas distintas, tanto para mercado profesional como para el del consumidor.

Una primera ola de 100 parches con más de 40.000 líneas de código añadieron soporte en el driver DRM AMDGPU de Linux para la codificación y decodificación de vídeo con VCE y UVD, respectivamente. Acceso a la aceleración 3D mediante el módulo de espacio de usuario RadeonSI Gallium3D (Mesa 3D: implementación de OpenGL y otras interfaces), parches necesarios para el sistema DC de salida a pantalla lo cual permitiría soportar en un futuro FreeSync y otros añadidos de AMD. Y no menos importante, virtualización de la GPU mediante SR-IOV. A día de hoy Linux permite pasar hardware a máquinas virtuales pero claro, no de manera dinámica (tienes que arrancar el kernel con los parámetros adecuados para que no active el hardware).

Una segunda ola de 140 parches añadieron soporte OpenGL 3.1 y los sistemas VCE y UVD en el driver RadeonSI Gallium3D.

La tercera ola de parches son para el compilador LLVM 5.0, usado para generar el código que se ejecuta dentro de las GPUs a partir de código de shaders gráficos o cualquier API/lenguaje de cómputo en GPUs.

La quinta ola de parches añaden Vega a la biblioteca libdrm encargada de mediar entre el módulo DRM AMDGPU del kernel y el software en espacio de usuario (RadeonSI Gallium3D).

La sexta ola de parches son más añadidos para la virtualización mediante SR-IOV, clock-gating del chip y soporte a múltiples niveles de tablas de páginas de memoria virtual.

Y esto no es todo porque AMD también a publicado como código libre un framework para programar con Vulkan, Anvil. Este framework tiene un gestor de memoria, gestor de objetos, rutinas para cambiar entre cálculo FP16 y FP32, conversión en tiempo de ejecución de shaders GLSL a SPIR-V e integración con sistemas de ventanas XCB (X.Org/X11) y Windows. Al ser libre, si algo no se ajusta a tus necesidades siempre puedes cambiarlo ;-)

Rasterización fuera de orden con Anvil (GPUOpen)


Como podéis ver, el soporte de una GPU no es nada trivial e incluye múltiples componentes.

En cuanto a Ryzen 5, se están pudiendo comprar los procesadores de 4 y 6 núcleos antes de su puesta a la venta oficial el 11 de abril. Son idénticos a los Ryzen 7 pero con menos núcleos (y más baratos). Los precios:



Núcleos Hilos Frecuencia base Frecuencia Boost Caché L3 TDP Precio
Ryzen 5 1600X 6 12 3,6 GHz 4 GHz 16 MB 95 249 dólares
Ryzen 5 1600 6 12 3,2 GHz 3,6 GHz 16 MB 95 219 dólares
Ryzen 5 1500X 4 8 3,5 GHz 3,7 GHz 8 MB 65 189 dólares
Ryzen 5 1400 4 8 3,2 GHz 3,4 GHz 8 MB 65 169 dólares

Como podemos ver, AMD sigue dando el doble de núcleos por el mismo precio. En cuanto a precio, el Ryzen 5 1400 está entre un Core i3 6300 y un Core i5 6400, pero ofreciendo el doble de hilos. Un Core i3 son dos núcleos con 4 hilos y el Core i5 son 4 núcleos con 4 hilos (2C/4T y 4C/4T respectivamente). El Ryzen 5 en el mismo nivel de precio ofrece 4 núcleos y 8 hilos (4C/8T). Y todo esto con una mejora del 60% o más en rendimiento con respecto a los antiguos AMD FX en el mismo rango de precios y un consumo energético mucho menor. Los AMD FX tienen un TDP de 125W mientras que el Ryzen 5 lo tiene de 65W.

Naples. Naples es la gama para servidores de AMD. Como ya anoté en una de las actualizaciones del post sobre Ryzen 7, Naples es un procesador de 32 núcleos y 64 líneas PCI Express que se puede colocar en sistemas de hasta 2 sockets, para un total de hasta 64 núcleos, 128 hilos y 128 líneas PCI Express. Cada uno de estos chips tiene un total de 512MB de caché de nivel 3, lo cual da un total de 16MB de caché L3 por núcleo contra los 2MB de caché L3 de un Ryzen 7. Además, estos procesadores tienen 8 canales de memoria, cuadruplicando el ancho de banda disponible para cualquier dato que no entre en toda esa caché de nivel 3.
«Más de todo», logrando obtener 2-2.5x más rendimiento que el procesador de Intel para dos sockets con más núcleos.

Lo que venía a comentar es que se han filtrado los chipsets para placas de dos sockets y de un socket: el X399 y el X390. Con esto AMD tendría disponible el equivalente a los procesadores de gama alta HEDT de Intel: actualmente los Core i7 6950X y 6900K así como los Xeon E5 v5 26XX.
Un diagrama de una placa base de ASUS y de los dos chipsets a continuación:

Placa base con chipset X390. Nótese el código de colores del esquema
Diagrama con chipset X390, mismo código de colores

Diagrama con chipset X399

La plataforma HEDT de AMD tendría 4 canales de memoria RAM, lo que presumiblemente nos daría procesadores con un máximo de 16 núcleos y el doble de ancho de banda a memoria con respecto a los Ryzen actuales. 48 líneas PCI Express 3.0 (8 más que los HEDT de Intel) divididas en 44 líneas para periféricos conectados directamente al procesador y 4 líneas para el puente sur que se diversifican en conectores SATA, puertos Gigabit Ethernet, etcétera.
La plataforma para servidores de dos sockets se resumiría en más de lo mismo, doblando la cantidad de canales de memoria principal (doblando de manera efectiva el ancho de banda) así como aumentando la cantidad de líneas PCI Express.

Sin duda alguna son plataformas muy interesantes que plantan cara a Intel en todos los frentes. Excelentes niveles de paralelismo, concurrencia y multiproceso, bajo consumo energético y notable rendimiento mono hilo para las aplicaciones sin optimizar que aún lo requieren.

No hay comentarios:

Publicar un comentario