Extensiones ISA

El conjunto de instrucciones de la arquitectura Intel (ISA) continúa evolucionando y creciendo en funcionalidad, enriqueciendo la experiencia del usuario, y creando sinergia entre las industrias.

INTEL® AVX

Intel® Advanced Vector Extensions (Intel® AVX)

La necesidad de un mayor desempeño computacional sigue creciendo en todos los segmentos de la industria. Para satisfacer la creciente demanda y ofrecer compatibilidad con los modelos de uso en evolución, continuamos nuestra historia de innovación con Intel® Advanced Vector Extensions (Intel® AVX) en los productos de hoy.

Intel® AVX es una nueva extensión del conjunto de instrucciones de 256 bits para Intel® SSE y se diseñó para aplicaciones que usan Floating Point (FP - Punto flotante) de manera intensa. Este fue lanzado a principios del 2011 como parte de la familia de procesadores Intel® Core™ de segunda generación y está presente en plataformas que van desde laptops hasta servidores. Intel AVX mejora el desempeño gracias a vectores más anchos, nueva sintaxis ampliable y funcionalidad enriquecida. Intel AVX2 fue lanzado en el 2013 con la cuarta generación de la familia de procesadores Intel® Core y se extiende además la amplitud de la capacidad de procesamiento de vectores a través de punto flotante y de dominios de datos enteros. Esto resulta en una más alta administración de los datos y las aplicaciones para amplio rango como el procesamiento de imágenes, sonido/video, simulaciones científicas, análisis financieros, y modelos y análisis tridimensionales.

 

Intel® Advanced Vector Extensions 512 (Intel® AVX-512)

En el futuro, algunos productos nuevos incluirán un avance importante hacia la compatibilidad con SIMD de 512 bits. Los programas pueden contener ocho números flotantes de doble precisión y dieciséis de precisión simple dentro de los vectores de 512 bits, así como ocho enteros de 64 bits y dieciséis de 32 bits. Esto permite el procesamiento del doble de la cantidad de elementos de datos que puede procesar Intel AVX/AVX2 con una sola instrucción y cuatro veces más las capacidades de Intel SSE.

Las instrucciones de Intel AVX-512 son importantes porque abren capacidades de rendimiento superiores para las tareas computacionales más exigentes. Las instrucciones de Intel AVX-512 ofrecen el grado más elevado de compatibilidad al incluir un nivel sin precedentes de enriquecimiento en el diseño de las capacidades de instrucciones.

Las características de Intel AVX-512 incluyen registros de 32 vectores, cada uno con 512 bits de ancho y ocho registros de máscaras dedicadas. Intel AVX-512 es un conjunto de instrucciones flexible que incluye compatibilidad con máscaras de difusión integradas para habilitar la predicción, el control de redondeo de puntos flotantes integrado, la supresión de fallas de puntos flotantes integrados, las instrucciones de dispersión, instrucciones de matemáticas de alta velocidad y la representación de grandes valores de desplazamiento.

Intel AVX-512 ofrece un grado de compatibilidad con Intel AVX que es más sólido que anteriores transiciones con los nuevos anchos para las operaciones de SIMD. A diferencia de Intel SSE e Intel AVX que no pueden mezclarse sin sufrir penalidades en el desempeño, la mezcla de las instrucciones de Intel AVX e Intel AVX-512 es compatible sin penalidades. Intel AVX registra la guía YMM0–YMM15 en los registros ZMM0–ZMM15 de Intel AVX-512 (en el modo x86-64), muy similar a las guías de los registros de Intel SSE en los registros de Intel AVX. Por tanto, en los procesadores compatibles con Intel AVX-512, las instrucciones de Intel AVX e Intel AVX2 funcionan en los valores inferiores de 128 o 256 bits de los primeros registros de 16 ZMM.

Puede encontrar más información sobre los detalles de las instrucciones de Intel AVX-512 en el blog "AVX-512 Instructions" (Instrucciones de AVX-512). Las instrucciones se documentan en la Intel® Architecture Instruction Set Extensions Programming Reference (Referencia de programación de extensiones de conjuntos de instrucciones en la arquitectura Intel) (vea la ficha "Visión general" de esta página).

Fast Computation of Adler32 Checksums Adler32 is a common checksum used for checking the integrity of data in applications such as zlib*, a popular compression library. In this paper we show how the vector processing capabilities of Intel® Architecture Processors can be exploited to efficiently compute the Adler32 checksum.
Intel and Facebook* Collaborate to Boost Caffe2 Performance on Intel CPU’s                             By Andres Rodriguez and Niveditha Sundaram
Benefits of Intel® Optimized Caffe* in comparison with BVLC Caffe* Overview  This article introduces Berkeley Vision and Learning Center (BVLC) Caffe* and  a custom version of Caffe*, Intel® Optimized Caffe*. We explain why and how Intel® Optimized Caffe* performs efficiently on Intel® Architecture via Intel® VTune™ Amplifier and the time profiling option of...
How to use the MPI-3 Shared Memory in Intel® Xeon Phi™ Processors Code Sample included: Learn how to use MPI-3 shared memory feature using the corresponding APIs on the Intel® Xeon Phi™ processor.
Intel® Math Kernel Library for Deep Neural Networks: Part 2 – Code Build and Walkthrough Learn how to configure the Eclipse* IDE to build the C++ code sample, along with a code walkthrough based on the AlexNet deep learning topology for AI applications.
Intel® Math Kernal Library for Deep Learning Networks: Part 1–Overview and Installation Learn how to install and build the library components of the Intel MKL for Deep Neural Networks.
Recipe: Building and Running MILC on Intel® Xeon® Processors and Intel® Xeon Phi™ Processors MILC software represents a set of codes written by the MIMD Lattice Computation collaboration used to study quantum chromodynamics, the theory of the strong interactions of subatomic physics. This article provides instructions for code access, build, and run directions for the “ks_imp_rhmc”...
Intel® Xeon Phi™ Processor 7200 Family Memory Management Optimizations This paper examines software performance optimization for an implementation of a non-library version of DGEMM executing on the Intel® Xeon Phi™ processor (code-named Knights Landing, with acronym KNL) running the Linux* Operating System (OS).