AVX
3 秒看懂
AVX 是 Intel 主导的 x86 SIMD(单指令多数据)向量指令集扩展家族,核心使命是在一次 CPU 指令中同时处理更多数据位宽(128→256→512 bit),直接拉升吞吐密集型计算(AI 推理、科学仿真、信号处理、密码学)的每核算力上限。它不是独立芯片,而是 指令集架构(ISA)层的增量补丁,从 2011 年 AVX 一路演进到 AVX-512、AVX10,是 x86 阵营对抗 ARM SVE 的关键护城河之一。
3 分钟产业解释
为什么 AVX 在 AI 产业链里值得专门学习?
-
CPU 推理的隐形加速器:不是所有 AI 计算都跑在 GPU 上。云推理(语音识别、NLP 小模型、推荐系统)、边缘端、传统 HPC,大量工作负载仍然在 x86 CPU 上执行。AVX-512 的 512-bit 宽向量使单个 CPU 核心在 FP32/FP16/INT8 向量运算上的吞吐量提升数倍,直接影响 云端推理的性价比和每 token 成本。
-
Intel 数据中心战略的核心组件:在 Intel Xeon Scalable 处理器的产品定位中,AVX-512(以及后续的 AMX)是区分”有 AI 能力”和”没有 AI 能力”SKU 的关键标志之一。Intel 在第四代/第五代 Xeon Scalable 中将 AMX(Advanced Matrix Extensions,面向矩阵乘加的二维 tile 引擎)与 AVX-512 并行定位——AVX 管向量、AMX 管矩阵——构成其 AI 推理双引擎叙事。
-
与 ARM 的 ISA 竞争焦点:ARM 阵营用 SVE(Scalable Vector Extension)/SVE2 走”向量长度无关(VLA)“路线,而 x86 的 AVX-512 走”固定宽度、逐步扩展”路线。两条路线的设计取舍直接影响编译器优化策略、软件可移植性和性能天花板。AWS Graviton(ARM)vs Intel Xeon 的 TCO 竞争,底层有一个 ISA 向量能力差异的维度。
-
功耗与降频的工程权衡:AVX-512 指令执行时,因活跃电路面积骤增,CPU 核心会自动降频(“AVX offset”),这导致持续 AVX-512 负载的实际频率可能比标称频率低 100-300 MHz[经验估算,具体取决于代次和功耗墙配置]。这个工程权衡深刻影响了数据中心的工作负载调度策略。
快速定位
| 维度 | 内容 |
|---|---|
| 本质 | x86 CPU 指令集扩展(微架构增量实现) |
| 主导方 | Intel(AMD 在 Zen 4 起跟进 AVX-512) |
| 最新代际 | AVX-512 系列 + AVX10(Intel 收敛路线图) |
| 竞争对手 ISA | ARM SVE/SVE2、RISC-V Vector Extension(RVV) |
| AI 领域定位 | CPU 侧向量推理加速(与 GPU/AI ASIC 互补而非替代) |
15 分钟专家深入
核心技术脉络
AVX 家族演进主线:
SSE (1999, 128-bit, XMM)
└→ SSE2/SSE3/SSE4 (逐步补全数据类型)
└→ AVX (2011, Sandy Bridge) — 256-bit YMM, 仅浮点, VEX编码
└→ AVX2 (2013, Haswell) — 256-bit 整数补齐;同期引入 FMA3 指令集
└→ AVX-512 (2016 Knights Landing; 2017 Skylake-SP) — 512-bit ZMM, EVEX编码
├→ AVX-512F (Foundation, 基础集)
├→ AVX-512BW (Byte/Word 扩展)
├→ AVX-512DQ (Doubleword/Quadword)
├→ AVX-512VL (128/256-bit 矢量长度)
└→ ... (数十个子扩展, 部分代次选择性实现)
└→ AVX10.x (2023+ 路线图) — Intel 收敛所有 AVX-512 子扩展为统一代际版本号
└→ AVX10.1 (基于 AVX-512 全功能集)
└→ AVX10.2 (规划中, 可能包含新 AI/FP 增强)
└→ AMX (2022, Sapphire Rapids) — 二维 tile 矩阵引擎(非 AVX 但是并行演进路径)
关键设计特征
1. 寄存器文件扩展
| 代际 | 寄存器宽度 | 寄存器数量 | 向量寄存器名 |
|---|---|---|---|
| SSE | 128 bit | 8 (后增至16) | XMM0-XMM15 |
| AVX/AVX2 | 256 bit | 16 | YMM0-YMM15 |
| AVX-512 | 512 bit | 32 | ZMM0-ZMM31 |
关键点:YMM 是 XMM 的高 128 位延伸,ZMM 是 YMM 的高 256 位延伸。AVX-512 将向量寄存器数量从 16 扩展到 32 个,这是相比 AVX2 除宽度之外的另一个重要增益——更多寄存器减少寄存器溢出(spill),对编译器调度优化意义重大。
2. 编码方式变革
- VEX 编码(AVX/AVX2):3 字节前缀,替代遗留 SSE 指令的冗长前缀链,支持三操作数非破坏性格式
vaddps ymm0, ymm1, ymm2(结果不覆盖源操作数,利于寄存器分配)。 - EVEX 编码(AVX-512):4 字节前缀,进一步支持 32 个向量寄存器、8 个 opmask 寄存器(k0-k7,用于掩码操作)、嵌入式广播(broadcast)、压缩/分散(compress/scatter)语义。
3. 掩码寄存器(opmask)—— AVX-512 独有
AVX-512 引入了 k0-k7 共 8 个 64-bit 掩码寄存器,实现 逐元素条件执行(predication)。这在分支密集的向量循环中非常有用——例如,在 ReLU 激活函数中,可以用一条掩码比较+掩码 blend 完成条件选择,避免标量分支。
; 伪代码示例: 对 zmm0 中每个 FP32 元素执行 ReLU
vcmpps k1, zmm0, zmm31, 0x1 ; k1 = (zmm0 < 0) 的掩码 (zmm31=0)
vmovaps zmm0{k1}, zmm31 ; 将负值位置清零 (合并掩码)
4. FMA(Fused Multiply-Add)
FMA3 指令(与 AVX2 同时引入但独立)可在单条指令中完成 a*b+c,精度高于先乘后加(减少一次舍入)。FMA 是深度学习推理中 矩阵乘法内循环 的基本原语。以 256-bit YMM 为例:
- FP32:256 / 32 = 8 个 FP32 元素/cycle FMA → 每 FMA 指令 16 FLOP(8 乘 + 8 加)
- FP64:4 个元素/cycle FMA → 每指令 8 FLOP
AVX-512 将此翻倍:FP32 每指令 32 FLOP(16 乘 + 16 加)。[基础算术推导,非实测]
AI 推理中的实际角色
┌─────────────────────────────────────────────────────┐
│ AI 推理计算层次 (CPU 视角) │
│ │
│ ┌───────────┐ ┌───────────┐ ┌─────────────────┐ │
│ │ AMX │ │ AVX-512 │ │ 通用标量/SIMD │ │
│ │ (tile │ │ (向量 │ │ (前处理/后处理/ │ │
│ │ 矩阵乘加) │ │ 逐元素) │ │ 控制流) │ │
│ └─────┬─────┘ └─────┬─────┘ └────────┬────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────┐ │
│ │ oneDNN (原 MKL-DNN) / AMX microkernel │ │
│ │ → 框架: TensorFlow, PyTorch, ONNX RT │ │
│ └─────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
- 矩阵乘法核心(GEMM):在 Sapphire Rapids 及之后的 Xeon 上,INT8/ BF16 矩阵乘主要交给 AMX tile 引擎;在不支持 AMX 的老平台上(如 Cascade Lake/Ice Lake),AVX-512 VNNI(Vector Neural Network Instructions)是 INT8 推理的关键加速指令。
- 逐元素操作:激活函数(GELU、SiLU、Softmax)、LayerNorm、注意力 score 计算等,仍由 AVX-512 向量指令承担。
- AMX 不替代 AVX-512,两者协同:AMX 负责计算密集的 GEMM,AVX-512 负责向量密集的 element-wise 运算,这是 Intel 当前 CPU AI 加速的核心架构分工。
技术原理(深度机制解析)
SIMD 执行模型
AVX 的本质是 数据级并行(DLP, Data-Level Parallelism) 的硬件实现。一个向量寄存器被逻辑划分为多个”lane”,同一算术逻辑操作同时作用于所有 lane:
指令: VADDPS zmm0, zmm1, zmm2
操作: zmm0[i] = zmm1[i] + zmm2[i], ∀i ∈ [0, 15]
zmm1: [ a0 | a1 | a2 | a3 | ... | a15 ] ← 16 × 32-bit FP32
zmm2: [ b0 | b1 | b2 | b3 | ... | b15 ]
+ + + + +
zmm0: [ c0 | c1 | c2 | c3 | ... | c15 ]
单条指令, 16 个并行加法, 同一 cycle 内完成 (pipeline latency 另计)
微架构执行端口
AVX/AVX-512 指令在 CPU 微架构中由特定的 执行端口(execution ports) 承载。以 Intel Skylake-SP 为例(公开微架构文档):
- Port 0 和 Port 5 各有一个 256-bit FMA 单元,它们可以组合执行 512-bit FMA 操作
- 理论峰值:2 个 256-bit FMA 单元 × 2 (Fused Multiply+Add) × 8 (FP32 元素) × 频率 = 峰值 FP32 TFLOPS
AVX-512 降频机制:当检测到 AVX-512 指令时,硬件会将核心频率降低到预设的”AVX-512 frequency”(低于标称全核频率),以维持功耗在 TDP 热设计范围内。具体降幅取决于:
- 微架构代次(较新代次降幅通常较小)
- AVX 工作负载的”重量级”程度(light/heavy 分级由固件检测)
- BIOS 配置中的 AVX offset 设置
注意:具体的降频幅度(MHz 级)因 SKU 和 BIOS 配置而异,此处不编造精确数字。
向量化的软件栈
AVX 硬件能力需要通过完整软件栈才能释放:
应用层 : TensorFlow / PyTorch / NumPy / 科学计算程序
框架层 : oneDNN (Intel), XNNPACK (Google), OpenBLAS, BLIS
编译器层 : GCC/Clang/ICX 自动向量化 (-O3 -mavx512f) / intrinsics
操作系统层 : 内核必须保存/恢复 512-bit ZMM 寄存器上下文 (OS 支持)
硬件层 : CPU 微架构 AVX-512 执行单元
关键约束:AVX-512 的 32 × 512-bit ZMM 寄存器 = 2 KB 寄存器状态,加上 opmask 和 FP 状态,上下文切换开销 比 AVX2 显著更大。操作系统内核必须支持 ZMM 寄存器的保存/恢复(Linux 通过 XSAVE/XRSTOR 指令实现)。这在高频上下文切换的场景(如容器密集部署)中是一个实际工程考量。
AVX-512 子扩展的功能分工
AVX-512 并非单一指令集,而是一组子扩展的总称。不同处理器代次可能实现不同的子集:
| 子扩展 | 全称 | 主要功能 |
|---|---|---|
| AVX-512F | Foundation | 基础 512-bit 浮点/整数、opmask、broadcast |
| AVX-512BW | Byte and Word | 8-bit/16-bit 数据类型支持 |
| AVX-512DQ | Dword and Qword | 32/64-bit 整数乘法、FP 转换增强 |
| AVX-512VL | Vector Length | 128/256-bit 版本的 AVX-512 指令(利用 EVEX 编码优势) |
| AVX-512VNNI | Vector Neural Network Int8 | INT8 点积(VPDPBUSD)用于推理 |
| AVX-512BF16 | BFloat16 | BF16 浮点运算支持 |
| AVX-512FP16 | FP16 | 半精度浮点运算支持 |
以上子扩展名称和功能方向基于 Intel 公开 ISA 文档。具体某个代次实现哪些子扩展,请查阅对应处理器的数据手册。
技术演进史
| 年份 | 事件 | 核心变化 |
|---|---|---|
| 1999 | Intel 发布 SSE | x86 首次 128-bit SIMD,8 个 XMM 寄存器 |
| 2001-2006 | SSE2/SSE3/SSSE3/SSE4 | 补全数据类型、水平操作等 |
| 2011 | AVX 发布(Sandy Bridge) | 256-bit YMM,VEX 编码,仅 FP |
| 2013 | AVX2(Haswell) | 256-bit 整数补齐;同期引入 FMA3 |
| 2016 | AVX-512(Knights Landing, Xeon Phi) | 512-bit,EVEX 编码,32 寄存器,首次大规模部署 |
| 2017 | AVX-512 进入主流服务器(Skylake-SP) | Xeon Scalable 处理器全面支持 |
| 2019 | Intel 引入 VNNI 子扩展(Cascade Lake) | INT8 推理专用指令 |
| 2021 | Alder Lake 混合架构,AVX-512 争议 | P-core 支持但 E-core 不支持,BIOS 级开关 |
| 2022 | Sapphire Rapids(4th Gen Xeon) | AVX-512 + AMX 并行,BF16 子扩展 |
| 2022 | AMD Zen 4 支持 AVX-512 | EPYC Genoa / Ryzen 7000 首次引入 |
| 2023 | Intel 公布 AVX10 路线图 | 收敛 AVX-512 子扩展为统一代际版本,兼容 P-core/E-core |
| 2024+ | AVX10.x 逐步落地 | 与 AMX 协同定位 CPU AI 加速 |
三个关键拐点:
- 2011(AVX):从 128→256-bit 的第一次翻倍,VEX 编码解放了三操作数非破坏性格式,极大简化了编译器调度。
- 2017(Skylake-SP):AVX-512 进入主流服务器市场,成为 Intel Xeon 对抗 GPU 推理渗透的关键筹码。
- 2022-2023(AMX + AVX10):Intel 意识到向量宽度无限扩张的收益递减,转而引入二维 tile 矩阵引擎(AMX)处理 GEMM,并用 AVX10 解决代次碎片化问题。
技术路线对比(量化表)
| 维度 | AVX-512 (Intel/AMD) | ARM SVE2 (ARM) | RISC-V RVV 1.0 | Intel AMX |
|---|---|---|---|---|
| 向量宽度 | 固定 512-bit | 可变 128-2048-bit (VLA) | 可变 32-65536-bit (VLA) | 固定 tile (如 16×64 INT8) |
| 寄存器数量 | 32 × ZMM | 32 × Zn | 32 × Vn | 8 × tile 寄存器(每 tile 1 KB,配置可变) |
| 掩码机制 | opmask (k0-k7) | 每元素谓词寄存器 (Pn) | 向量掩码寄存器 (v0) | 无(tile 内部完整) |
| 数据类型支持 | FP64/32/16, INT64/32/16/8, BF16 | FP64/32/16, INT64/32/16/8, BF16, FP64 计算 | 类似 SVE,实现可选 | BF16, INT8, FP16 (代次相关) |
| 编码方式 | EVEX (4-byte) | 32-bit 固定编码 | 32-bit 固定 + 可选扩展 | 特定 tile 指令 |
| 编译器/生态成熟度 | ★★★★★ (GCC/Clang/ICX) | ★★★☆☆ | ★★☆☆☆ (快速成长) | ★★★☆☆ |
| 主要部署平台 | Intel Xeon, AMD EPYC | AWS Graviton 3/4, Fujitsu A64FX, Neoverse | SiFive/平头哥等 RISC-V SoC | Intel Xeon (Sapphire Rapids+) |
| AI 推理定位 | 向量 element-wise + VNNI INT8 | 通用向量推理 | 通用向量推理 | GEMM/tensor 密集计算 |
| 指令碎片化问题 | 严重(代次间子扩展不一致) | 轻微(VLA 天然兼容) | 轻微(profile 分级) | 较轻(新 ISA) |
关键判断:
- SVE2 的 VLA 设计在架构层面优于 AVX-512 的固定宽度,代码无需重编译即可适配不同宽度的硬件实现,但生态成熟度仍有差距。
- AMX 不与 AVX-512 竞争而是互补:AMX 针对 GEMM(矩阵×矩阵),AVX-512 针对 element-wise 向量运算。
- RVV 处于生态早期,但其 VLA 设计类似 SVE,在 RISC-V 浪潮中有长期潜力。
上下游
上游(AVX 依赖什么)
| 环节 | 内容 |
|---|---|
| 微架构设计 | CPU 核心内的执行端口、SIMD 单元面积分配由 Intel/AMD 微架构团队决定 |
| 制程工艺 | 先进制程(如 Intel 4/3, TSMC 5nm/4nm)提供更多晶体管预算给 SIMD 单元,同时控制功耗 |
| 操作系统 | Linux/Windows 内核必须支持 XSAVE 指令来保存/恢复 512-bit 寄存器上下文 |
| 编译器/库 | GCC、LLVM/Clang、Intel oneAPI DPC++/C++ Compiler (ICX)、oneDNN、OpenBLAS、BLIS |
下游(谁消费 AVX 能力)
| 应用场景 | 消费方式 |
|---|---|
| AI 推理(CPU) | oneDNN 后端调用 AVX-512 VNNI/BF16 微内核,INT8/BF16 GEMM + element-wise |
| HPC/科学计算 | 密集线性代数(BLAS/LAPACK)、CFD、分子动力学、天气预报 |
| 密码学 | AES-NI + AVX 可并行处理多个 AES 块;SHA 扩展指令 |
| 多媒体编码 | 视频编解码(H.265/AV1)中的变换、滤波、预测 |
| 数据库引擎 | 向量化扫描过滤(filter pushdown),列式存储的 SIMD 加速 |
| 搜索/推荐 | 向量相似度计算(cosine/dot product),ANN 搜索内核 |
关键指标
| 指标 | 说明 | 参考量级 |
|---|---|---|
| 向量寄存器宽度 | AVX-512 为 512-bit (64 Byte) | 定值 |
| FP32 每指令 FLOP | AVX-512 单 FMA 指令 = 32 FLOP | 定值 |
| 每核理论 FP32 峰值 | 取决于 FMA 端口数 × 频率 | 典型 Xeon:每核数十 GFLOPS 量级 [代次和频率依赖] |
| AVX-512 降频幅度 | 工作负载触发的频率回退 | 通常 100-400 MHz 区间 [因 SKU 和配置而异,非精确定值] |
| 上下文切换代价 | ZMM 寄存器状态保存/恢复 | 2 KB+ 额外状态 [XSAVE 格式具体开销取决于 OS 实现] |
| 代码向量化收益 | 典型数值计算对比标量 | 通常 4-16× 取决于数据类型和内存带宽瓶颈 [经验范围] |
| VNNI INT8 吞吐 | INT8 点积指令吞吐 | 通常为 FP32 FMA 的 2-4×(位宽压缩倍增)[架构推导] |
供需与市场数据
需求侧
| 驱动力 | 分析 |
|---|---|
| CPU 推理回归 | 大模型训练归 GPU,但长尾推理(中小模型、低延迟场景)CPU 方案经济性好,AVX-512/AMX 是 Intel CPU 推理的核心卖点 |
| 云实例规格 | AWS c6i/c7i、Azure Dv5/Dv6 等 Intel 实例均基于支持 AVX-512 的 Xeon;客户选择实例时隐含消费 AVX 能力 |
| 混合精度趋势 | INT8/BF16 推理需要 VNNI/BF16 指令支持,倒逼老平台升级 |
供给侧
| 供应方 | 状态 |
|---|---|
| Intel | AVX-512 的最大推广者;Sapphire Rapids / Emerald Rapids / Granite Rapids(5th/6th Gen Xeon)全线支持,同时推 AMX 作为 AI 矩阵引擎 |
| AMD | Zen 4(EPYC Genoa, 2022)起支持 AVX-512,但子扩展实现范围可能较 Intel 窄 [具体子扩展差异需查阅 AMD 官方文档] |
| ARM 阵营 | 不消费 AVX,用 SVE2 替代;但 SVE2 在编译器生态和库支持上仍在追赶 |
| 云厂商 | AWS Graviton 用 ARM SVE2,Intel 实例用 AVX-512,两条路线并行;Google TPU/AWS Inferentia 用 ASIC 绕开此问题 |
市场格局估算
- Intel Xeon 仍占全球服务器 CPU 出货量的多数份额 [精确数字参考 IDC/Mercury Research 季度报告],AVX-512 的部署基数巨大
- AMD EPYC 份额持续增长,Zen 4 起支持 AVX-512 是其竞争力提升的因素之一
- ARM 服务器份额仍为少数但在 Graviton 3/4 推动下持续渗透
注:具体市占率数字请参考最新季度行业报告,此处不编造精确比例。
代表公司与资本映射
| 公司 | 与 AVX 的关系 | 资本视角 |
|---|---|---|
| Intel (INTC) | AVX 指令集的发明者和最大推广者;Xeon Scalable 全线支持 | AVX/AMX 是 Intel “AI everywhere” 叙事的核心技术论据 |
| AMD (AMD) | Zen 4 起实现 AVX-512 兼容 | 缩小与 Intel 在 AI 推理指令层面的差距,利好 EPYC 渗透 |
| Arm Holdings (ARM) | 不直接参与 AVX,但 SVE2 是直接竞争 ISA | ARM 生态的 AI 能力叙事依赖 SVE2 + 矩阵扩展 (SME) |
| TSMC (TSM) | 代工 AMD Zen 4/5 芯片(含 AVX-512 实现) | 间接受益于 x86 AI 芯片竞争加剧 |
| Intel 代工服务 | 代工自家 Xeon(含 AVX-512/AMX 实现) | Intel IDM 2.0 战略的关键执行 |
| Microsoft / Google / AWS | 云端实例中隐含消费 AVX 能力 | Graviton (ARM SVE) vs Intel Xeon (AVX-512) 的实例选型影响 TCO 和利润率 |
一级市场关联:
- 深度优化 AVX-512 微内核的 AI 推理公司(如面向 CPU 推理优化的创业公司)
- RISC-V 向量扩展 IP 提供商(SiFive、平头哥等,RVV 是 AVX 的长期替代路径之一)
投资逻辑
看多逻辑
-
CPU 推理市场的结构性增长:中小模型推理、RAG 管线中的 embedding 计算、实时推荐系统等场景不需要 GPU,AVX-512/AMX 赋能的 Xeon 是最直接的受益者。Intel 可以借此维持 Xeon 的溢价和出货量。
-
AMD 的 AVX-512 兼容是竞争催化剂:Zen 4 引入 AVX-512 消除了 AMD 进军 AI 推理市场的指令集壁垒,利好 AMD 在云计算和企业市场的渗透率提升。
-
指令集是持久的 IP 壁垒:AVX-512 生态(编译器、库、框架优化)积累深厚,ARM SVE2 的生态追赶需要时间。这种”软件惯性”为 x86 阵营提供了防御纵深。
风险/看空逻辑
-
GPU/AI ASIC 对 CPU 推理的挤压:如果推理芯片(如 AWS Inferentia、Google TPU Edge)价格持续下降,CPU 推理的经济性窗口可能缩窄,削弱 AVX 的商业意义。
-
ARM SVE2 的生态追赶:AWS Graviton 3/4 的成功表明 ARM 服务器在特定场景已经具有竞争力;如果 SVE2 生态(编译器、oneDNN 后端)快速成熟,AVX 的护城河会变窄。
-
AVX-512 的碎片化问题:不同 Intel 代次支持的 AVX-512 子扩展不同,开发者面对兼容性矩阵头疼。Intel 试图用 AVX10 解决,但过渡期的碎片化仍有负面影响。
-
功耗问题:AVX-512 的降频特性在追求极致能效比的场景中是劣势,可能导致 TCO 不如 SVE2 实现(ARM 芯片通常功耗更低)。
核心观察指标
- Intel Xeon Scalable 各代的 AI 推理 benchmark 成绩(MLPerf Inference CPU 类别)
- AMD EPYC AVX-512 的实际 benchmark 对比(SPEC CPU / MLPerf)
- 云实例定价中 Intel vs ARM 实例的价格差异趋势
- AVX10 路线图的执行进度
常见误读纠偏
误读 1:“AVX-512 是 512 位宽,所以性能一定是 AVX2(256 位)的两倍”
纠偏:理论峰值数据吞吐确实翻倍,但 实际性能取决于多个瓶颈:
- 内存带宽:如果运算强度(FLOP/Byte)低,数据搬运跟不上,SIMD 宽度翻倍也无法提速(Amdahl 定律的内存墙版本)。
- 降频:AVX-512 负载触发降频,每条指令完成的 cycle 数变多,部分抵消了宽度增益。
- 寄存器压力:虽然寄存器从 16→32,但如果算法本身寄存器需求不高,额外寄存器不产生收益。
- 实际 benchmark 经验:AVX-512 相比 AVX2 在不同工作负载上的加速比差异巨大,从 1.2× 到 2.5× 都有报告 [参考 AnandTech/ServeTheHome 等媒体的 benchmark 汇总]。
误读 2:“AMX 出来后 AVX-512 就没用了”
纠偏:AMX 是 二维 tile 引擎,专门为矩阵乘加(GEMM)设计,像一个”小型 systolic array”。它不替代 AVX-512 的向量 element-wise 运算能力。在 AI 推理管线中:
- GEMM(线性层、注意力 QKV 投影)→ AMX
- 激活函数、归一化、Softmax、逐元素操作 → AVX-512
- 两者是 协同关系,不是替代关系。
误读 3:“所有 Intel CPU 都支持 AVX-512”
纠偏:
- 消费级桌面/笔记本 CPU(如 Alder Lake 12代、Raptor Lake 13/14代)通常 不启用 AVX-512(混合架构中 E-core 不支持,Intel 在 BIOS 层面默认禁用)。
- AVX-512 主要部署在 服务器和工作站 级别的 Xeon 处理器上。
- 即使在服务器端,不同代次支持的 AVX-512 子扩展也有差异,开发者需要通过 CPUID 指令检测具体支持的子扩展。
误读 4:“ARM SVE 因为是 VLA 所以天然比 AVX-512 更好”
纠偏:VLA(向量长度无关)在 可移植性 和 代码前向兼容性 上确实有优势,但这不等于性能优势:
- 编译器优化难度:VLA 代码编译器需要为”未知宽度”生成代码,某些优化(如循环展开因子选择、寄存器分配)不如固定宽度的 AVX-512 精确。
- 硬件实现约束:SVE 硬件可以选择 128/256/512-bit 宽度实现,但更窄的实现自然吞吐更低。
- 软件生态:AVX-512 的 oneDNN/microkernel 优化积累更深,实际部署中可能仍占优。