Las extensiones de instrucciones de la ISA son frecuentes en multitud de arquitecturas. En el caso de los mejores y últimos microprocesadores de la familia x86, tenemos extensiones muy variadas, como las AVX-512 de 512-bit para la longitud de datos. Es decir, en vez de operar en 64-bit como el resto de partes de la CPU, para estas instrucciones se agrupan una serie de registros y se tratan en una FPU especial.
Gracias a esto, se pueden realizar varias operaciones en una sola sentada, con una sola instrucción, en vez de tener que operar de forma escalar, es decir, dato a dato. Con las extensiones AVX se trabaja con vectores de datos a los que se aplica una misma operación a todos ellos. Es decir, se podrían hacer sobre 8 datos de 64-bit a la vez, o sobre 16 de 32-bit, etc. Sin embargo, pese a que pueden acelerar muchas cargas de trabajo, como las científicas, no todo son ventajas en estas AVX…
Quizás también te puede interesar:
Además de la propia ISA principal, con las instrucciones básicas de la arquitectura AMD64 o EM64T o x86-64, como la quieras llamar, también existen otras muchas extensiones, es decir, conjuntos o sets de instrucciones adicionales que se agregan para completar la ISA y acelerar ciertas cargas de trabajo, por ejemplo, las bibliotecas de TensorFlow las pueden aprovechar. Entre ellas tenemos el conjunto de instrucciones AVX-512.
Es la segunda iteración de AVX o AVX2. Este conjunto de instrucciones llegó a los procesadores Intel en 2013. Y son las siglas de Advanced Vector Extensions. Este repertorio sería incorporado por primera vez en los Intel Xeon Phi (Knights Landing), y más tarde también pasaría a los servidores con los Intel Xeon (Skylake-X).
Pero Intel tomó una decisión algo comprometida y criticada, y es que el conjunto de instrucciones AVX-512 también llegaría a los consumidores, es decir, a los clientes. Esto fue en la microarquitectura Intel Cannon Lake. Más tarde también sería heredada por Ice Lake, Tiger Lake, etc. Algo incomprensible para muchos, ya que esto implica mayor consumo, mayor tamaño del silicio ocupado por unidades funcionales de ejecución grandes (y registros de mayor longitud), y no aporta prácticamente valor, ya que existe muy poco software para clientes que puedan beneficiarse de estas instrucciones.
El objetivo principal de este conjunto de instrucciones era acelerar las tareas relacionadas con la compresión de datos, el procesamiento de imágenes y los cálculos criptográficos. Al ofrecer el doble de potencia de cálculo en comparación con AVX-256, el conjunto de instrucciones AVX-512 ofrecía mejoras notables del rendimiento, pero pese a que agregaba el doble de complejidad, no aportaba el duplicó el rendimiento.
Por todo esto tuvo muchas críticas, entre ellos Linus Torvalds las criticó duramente:
Espero que el AVX-512 tenga una muerte dolorosa, y que Intel empiece a arreglar los problemas reales en vez de intentar crear instrucciones mágicas para luego crear benchmarks en los que se puedan ver bien.
Espero que Intel vuelva a lo básico: que haga funcionar de nuevo su litografía, y se concentre más en el código regular que no sea HPC (computación de alto rendimiento) o algún otro caso especial sin sentido.
Ya lo he dicho antes, y lo diré de nuevo: en el apogeo de la arquitectura x86, cuando Intel se reía hasta el final del banco y mataba a toda su competencia, absolutamente todos los demás lo hacían mejor que Intel en las cargas de trabajo FP. El rendimiento en FP de Intel era una mierda (relativamente hablando), y no importa ni un ápice.
Porque absolutamente a nadie le importa fuera de los benchmarks.
Lo mismo ocurre con el AVX-512 ahora y en el futuro. Sí, puedes encontrar cosas en las que el AVX-512 importa. No, esas cosas no venden equipos en el panorama general.
Y el AVX-512 tiene verdaderos inconvenientes. Preferiría ver ese presupuesto de transistores usado en otras cosas que son mucho más relevantes. Incluso si sigue siendo matemáticas de FP (en la GPU, en lugar de AVX-512). O simplemente dame más núcleos (con un buen rendimiento de un solo hilo, pero sin la basura como el AVX-512) como hizo AMD.
Quiero que mis límites de potencia se alcancen con código entero regular de enteros, no con algún virus de potencia AVX-512 que me quite la frecuencia máxima (¡porque la gente terminó usándolo para memcpy!) y quita núcleos (porque esas inútiles unidades de basura ocupan espacio).
Sí, sí, soy parcial. Detesto absolutamente los benchmarks de FP, y me doy cuenta de que a otras personas les importa mucho. Sólo creo que el AVX-512 es exactamente lo que no se debe hacer. Es una molestia para mí. Es un buen ejemplo de algo que Intel ha hecho mal, en parte porque ha aumentado la fragmentación del mercado.
Deja la basura de los casos especiales, y haz que todas las cosas comunes que a todo el mundo le importa funcionen tan bien como humanamente puedas. Luego haz una FPU que apenas sea lo suficientemente buena por el lateral, y la gente estará feliz. AVX2 es mucho más que suficiente.
Sí, estoy de mal humor.
Linus
Después de esto, el famoso programador y creador de Linux tendría un equipo AMD Threadripper por primera vez para compilar, ya que estaba algo disgustado con los Intel que siempre había empleado para sus equipos…
AVX-512 fue una buena y mala idea a la vez. Intel se adelantó, ya que no había software como para justificar su implantación en el lado del cliente, aunque sí para HPC. AMD fue más inteligente en este sentido y optó por no adoptar las AVX-512 hasta que no hubiese más software que las pudiera aprovechar, y ese momento llegó en Zen 4, para las Ryzen 7000 Series actuales.
Intel por su parte parece ahora algo perdida, ya que fue la impulsora de AVX-512 y ahora las ha bloqueado para sus Alder Lake en adelante. Bien es cierto que los primeros Alder Lake permitían procesar AVX-512 en los P-cores basados en Golden Cove, pero no era así en los E-cores basados en Gracemont. Esto era algo complejo para el planificador de instrucciones, por lo que Intel optó por desactivarlas, aunque físicamente los núcleos podían usarlas.
Veamos los movimientos tan torpes y extraños que hizo Intel para las AVX-512:
Mientras tanto, AMD toma otra dirección diferente:
Te recomendamos la lectura de los mejores procesadores del mercado. ¿Qué opinas? ¿A favor o en contra de AVX-512?
Se habrían filtrado las especificaciones de la tarjeta gráfica GeForce RTX 5070, que podría lanzarse…
En esta guía te voy a explicar qué es Seguridad de Windows 11, para qué…
Tenemos nuevos ventiladores para analizar, los Corsair RX120 MAX RGB representan una de las opciones…