SIMD
分类: 高效推理与部署
SIMD
定义
一种并行计算范式,单条指令同时操作多个数据元素;在 CPU 上通过向量寄存器(AVX2、NEON 等)实现,是 LLM 边缘推理加速的关键硬件原语
数学形式
一条指令同时处理 个元素( 取决于寄存器宽度和数据类型宽度)。
核心要点
x86 AVX2: 256-bit 寄存器,可同时处理 32 个 int8 或 8 个 float32
ARM NEON: 128-bit 寄存器,可同时处理 16 个 int8
关键指令:_mm256_shuffle_epi8(AVX2 LUT 查表)、vqtbl1q_u8(NEON LUT)、_mm256_maddubs_epi16(AVX2 MAD)
寄存器宽度限制了 Element-wise LUT 的 group size(128-bit SIMD 对三值最大 g=3)
代表工作
Bitnet.cpp: 利用 AVX2 和 NEON 实现高效三值 LLM 推理核(TL1、TL2、I2_S)
T-MAC: 基于 SIMD 的 bit-wise LUT mpGEMM 实现
相关概念
mpGEMM: SIMD 加速的主要场景
Element-wise LUT: 受 SIMD 寄存器宽度约束的推理方法