📐 向量化·SIMD 实战
📘 30 章 · 从入门到深度优化
v1.0
01
SIMD技术概览
MMX/SSE/AVX
单指令多数据 · 发展历程与硬件基础
02
编译器自动向量化原理
依赖分析 · 向量化可行性判断
03
GCC自动向量化实战
-O2/-O3 · -ftree-vectorize · 报告解读
04
LLVM/Clang自动向量化
-Rpass=loop-vectorize 诊断信息
05
Intel编译器自动向量化
ICC/ICX · #pragma simd / ivdep
06
向量化友好的代码风格
循环结构 · 数据对齐 · 连续内存
07
循环展开与向量化
手动展开 vs 自动展开 · 展开因子
08
归约操作的向量化
加法/乘法/最大最小值归约
09
条件语句的向量化
掩码操作 · 谓词执行 · 分支优化
10
指针别名分析
restrict · __restrict__ · 别名问题
11
数据依赖与向量化
循环携带依赖 · 反依赖 · 输出依赖
12
结构体数组 vs 数组结构体
AoS · SoA · 内存布局影响
13
SIMD内在函数入门
SSE/AVX · _mm_add_ps 等操作
14
AVX2与AVX-512编程
256/512位寄存器 · 掩码 · 冲突检测
15
ARM NEON内在函数
vaddq_f32 · ARM平台SIMD编程
16
SVE可扩展向量编程
向量长度无关 · whilelo · predicate
17
跨平台SIMD编程
xsimd · highway · 一次编写多平台
18
自动向量化性能分析
perf · vtune · 向量化代码分析
19
内存带宽优化
非临时存储 · 流式加载 · 预取
20
矩阵乘法的向量化
分块策略 · SIMD 高效实现
21
图像处理中的SIMD
像素操作 · 颜色空间转换
22
音频信号处理的向量化
FIR滤波器 · FFT 加速
23
排序算法的向量化
快速排序 · 归并排序 SIMD 加速
24
哈希与加密算法向量化
AES-NI · SHA扩展
25
向量化失败案例分析
常见失败原因 · 解决方案
26
OpenMP SIMD指令
#pragma omp simd · 自动向量化配合
27
C++17并行算法与SIMD
std::execution::par_unseq
28
GPU与CPU SIMD对比
CUDA/SYCL · 向量化异同
29
未来向量化技术
RISC-V V扩展 · 可重构 · AI驱动
30
综合实战:串行到高度向量化
完整优化案例 · 代码蜕变