From WikiChip
AVX-512 - x86
x86
Instruction Set Architecture
Instruction Set Architecture
General
Variants
Topics
- Instructions
- Addressing Modes
- Registers
- Model-Specific Register
- Assembly
- Interrupts
- Micro-Ops
- Timer
- Calling Convention
- Microarchitectures
- CPUID
CPUIDs
Modes
Extensions(all)
AVX-512 is collective name for a number of 512-bit SIMD x86 instruction set extensions. The extensions was formally introduced by Intel in July 2013 with first general-purpose microprocessors implementing the extension introduced in July 2017.
Overview
AVX-512 is a set of 512-bit SIMD extensions that allow programs to pack sixteen single-precision eight double-precision floating-point numbers, or eight 64-bit or sixteen 32-bit integers within 512-bit vectors. The extension provides double the computation capabilities of that of AVX/AV2.
- AVX-512 Foundation (AVX512F) is base of the 512-bit SIMD instruction extensions which is a comprehensive list of features for most HPC and enterprise applications. AVX-512 Foundation is the natural extensions to AVX/AVX2 which is extended using the EVEX prefix which builds on the existing VEX prefix. Any processor that implements any portion of the AVX-512 extensions MUST implement AVX512F.
- AVX-512 Conflict Detection (AVX512CD) Instructions offer additional vectorization of loops with possible address conflict.
- AVX-512 Doubleword and Quadword (AVX512DQ) Instructions add new 32-bit and 64-bit AVX-512 instructions
- AVX-512 Prefetch (AVX512PF) Instructions add new prefetch instructions for gather/scatter and PREFETCHWT1 .
- AVX-512 Exponential and Reciprocal (AVX512ER) Instructions (ERI) offer 28-bit precision RCP, RSQRT and EXP transcendentals for various scientific applications.
- AVX-512 Vector Length (AVX512VL) Instructions add vector length orthogonality, allowing most AVX-512 operations to also operate on XMM (128-bit, SSE) registers and YMM (256-bit, AVX) registers
- AVX-512 Byte and Word (AVX512BW) Instructions add support for for 8-bit and 16-bit integer operations.
- AVX-512 Integer Fused Multiply-Add (AVX512IFMA) Instructions add support for fused multiply add of integers using 52-bit precision.
- AVX-512 Vector Bit Manipulation (AVX512VBMI) Instructions add additional vector byte permutation instructions.
- AVX-512 Fused Multiply Accumulation Packed Single precision (AVX512_4FMAPS) Instructions add vector instructions for deep learning on floating-point single precision
- AVX-512 Vector Neural Network Instructions Word Variable Precision (AVX512_4VNNIW) Instructions add vector instructions for deep learning on enhanced word variable precision
- AVX-512 VPOPCNTDQ Vector Population Count Double Word and Quad Word (AVX512_VPOPCNTDQ) Instructions add double and quad word population count instructions.