Robocikowo>ROBOCIKOWO
hardware

AVX-512

2016AktywnyOpublikowano: 9 listopada 2026Aktualizacja: 9 listopada 2026Opublikowany
AVX-512 to zestaw 512-bitowych rozszerzeń SIMD instrukcji x86: 32 rejestry ZMM, rejestry maskujące i kodowanie EVEX, przyspieszające obliczenia wektorowe i inferencję ML na CPU.
Kluczowa innowacja
Rozszerzenie wektorów SIMD x86 do 512 bitów wraz z 32 rejestrami ZMM, ośmioma rejestrami maskującymi i kodowaniem EVEX, co podwoiło szerokość wektora względem AVX2 i wprowadziło modularne podzbiory (m.in. VNNI, BF16, FP16) do akceleracji obliczeń ML na CPU.
Kategoria
hardware
Poziom abstrakcji
Primitive
Poziom operacji
InferencjaUdostępnianieWdrożenie
Zastosowania
Inferencja LLM na CPU (np. llama.cpp)Kwantyzowana inferencja ML (INT8/BF16/FP16)Przyspieszanie GEMM i iloczynów skalarnychObliczenia HPC i numeryczneKodeki audio/wideo i kompresjaKryptografia (EVEX-owe GFNI/VAES/VPCLMULQDQ)

Jak działa

AVX-512 operuje na 32 rejestrach ZMM o szerokości 512 bitów, mieszczących np. 16 liczb float32 lub 8 float64. Nowe kodowanie EVEX rozszerza przestrzeń operandów i dodaje per-instrukcyjne maski: osiem rejestrów maskujących (k0–k7) określa, które elementy wektora są przetwarzane lub scalane, co eliminuje część rozgałęzień. Instrukcje FMA łączą mnożenie i dodawanie w jednym takcie, a wbudowane rozgłaszanie pozwala użyć skalarnej wartości z pamięci jako operandu wektorowego. Podzbiory AI działają na skwantyzowanych danych: VNNI realizuje mnożenie-akumulację INT8/INT16 w pojedynczych instrukcjach (kluczowe dla iloczynów skalarnych w GEMM), BF16 i FP16 przyspieszają obliczenia w formatach o obniżonej precyzji. Dzięki rozszerzeniu VL te same operacje mogą działać także na rejestrach 128- i 256-bitowych.

Rozwiązany problem

Przetwarzanie numeryczne i inferencja modeli ML na CPU są ograniczone przepustowością jednostek wektorowych. Dwukrotnie szersze wektory (512 vs 256 bitów AVX2), większa liczba rejestrów i instrukcje typu FMA/VNNI pozwalają wykonać więcej operacji mnożenia-akumulacji na takt, przyspieszając GEMM, iloczyny skalarne i warstwy sieci neuronowych bez dedykowanego akceleratora.

Komponenty

Rejestry ZMMPrzechowywanie operandów wektorowych

32 rejestry wektorowe o szerokości 512 bitów (wzrost z 16 w AVX2). Mieszczą np. 16× float32, 8× float64, 64× int8.

Rejestry maskująceSelektywne wykonywanie i mieszanie elementów

Osiem rejestrów maskujących (k0–k7) pozwalających warunkowo przetwarzać lub scalać poszczególne elementy wektora bez rozgałęzień.

Kodowanie EVEXPrefiks instrukcji rozszerzający przestrzeń operandów

Nowy prefiks kodowania (następca VEX) umożliwiający adresowanie 32 rejestrów, maskowanie, wbudowane rozgłaszanie oraz sterowanie zaokrąglaniem i wyjątkami.

AVX-512F (Foundation)Rdzeń obowiązkowy w każdej implementacji

Podstawowy podzbiór wymagany we wszystkich implementacjach AVX-512; rozszerza większość instrukcji 32/64-bitowych na rejestry 512-bitowe wraz z FMA.

AVX-512 VNNIInstrukcje do inferencji uczenia głębokiego

Vector Neural Network Instructions (Cascade Lake, 2019) — mnożenie-akumulacja na liczbach całkowitych (INT8/INT16) w pojedynczych instrukcjach, kluczowe dla inferencji kwantyzowanej.

AVX-512 BF16Akceleracja obliczeń na bfloat16

Instrukcje akceleracji AI operujące na formacie bfloat16 (Cooper Lake, 2020).

AVX-512 FP16Operacje na liczbach połówkowej precyzji

Rozszerzenie F16C o pełne wsparcie dla liczb binary16 (FP16/half-precision) (Sapphire Rapids, 2023).

Ewolucja

Oryginalny paper · 2013 · Intel Corporation
Intel Architecture Instruction Set Extensions Programming Reference (AVX-512)
2013
Intel zapowiada AVX-512
Punkt przełomowy

Intel proponuje 512-bitowe rozszerzenia SIMD architektury x86 (lipiec 2013).

2016
Pierwsza implementacja — Knights Landing
Punkt przełomowy

Pierwsza sprzętowa implementacja w procesorach Intel Xeon Phi x200 (Knights Landing) z podzbiorami F, CD, ER, PF.

2017
Skylake-SP / Skylake-X

Wejście AVX-512 do głównego nurtu serwerów i stacji roboczych (Xeon Scalable "Purley"), z podzbiorami VL, DQ, BW.

2019
VNNI (Cascade Lake)
Punkt przełomowy

Wprowadzenie Vector Neural Network Instructions do akceleracji inferencji kwantyzowanej (INT8).

2020
BF16 (Cooper Lake)

Dodanie instrukcji akceleracji AI operujących na formacie bfloat16.

2022
Wsparcie AMD — Zen 4
Punkt przełomowy

AMD implementuje AVX-512 (F, CD, VL, DQ, BW, IFMA, VBMI, VNNI, BF16 i inne) w mikroarchitekturze Zen 4.

2023
FP16 (Sapphire Rapids) i zapowiedź AVX10

Sapphire Rapids dodaje podzbiór FP16; Intel zapowiada następcę — AVX10 (lipiec 2023).

Paradygmat wykonania

Tryb główny
Gęsty

SIMD: pojedyncza instrukcja operuje gęsto na wielu elementach danych w rejestrze wektorowym; maski k0–k7 dają warunkowe, per-element wykonywanie.

Równoległość

Poziom równoległości
W pełni równoległy

Równoległość na poziomie danych (SIMD) — jedna instrukcja przetwarza do 16 float32 / 64 int8 jednocześnie w obrębie rdzenia CPU.

Zakres
Inferencja

Wymagania sprzętowe

Podstawowe

AVX-512 jest rozszerzeniem instrukcji x86 wykonywanym natywnie przez jednostki wektorowe CPU (Intel od Knights Landing/Skylake-X, AMD od Zen 4).