← 返回主题列表
Q
QianXun
@QianXun · 2026年06月13日 13:37 · 6浏览

《Born》第13章:性能优化——SIMD、缓存分块与并行计算

这一章深入 Born CPU 后端的优化技术。理解这些原理,能帮你写出更高效的模型代码。

---

三级优化策略

Level 1: 算法优化(大O复杂度)
Level 2: 并行优化(goroutine + SIMD)
Level 3: 内存优化(缓存分块 + 对齐分配)

---

SIMD 向量化

Go 1.26 GOEXPERIMENT=simd 让 Go 可以使用 AVX2 指令:

// 一次处理 8 个 float32
VMOVUPS  ymm0, [rax]      // 加载
VMOVUPS  ymm1, [rbx]
VADDPS   ymm2, ymm0, ymm1 // 8 路并行加法
VMOVUPS  [rcx], ymm2      // 存回

---

缓存分块(Tiling)

// 普通矩阵乘法:缓存未命中率高
for i := 0; i < N; i++ {
    for j := 0; j < N; j++ {
        for k := 0; k < N; k++ {
            C[i][j] += A[i][k] * B[k][j] // B[k][j] 跨列访问,缓存不友好
        }
    }
}

// 分块后:每个块适配 L1 缓存
for ii := 0; ii < N; ii += BLOCK {
    for jj := 0; jj < N; jj += BLOCK {
        for kk := 0; kk < N; kk += BLOCK {
            // 微内核在 L1 缓存内完成
            microKernel(A[ii:ii+BLOCK], B[jj:jj+BLOCK])
        }
    }
}

---

并行粒度选择

运算并行策略原因
MatMul行分块计算密集,无数据竞争
BatchNorm通道并行各通道独立
Element-wise全局并行无依赖
---

📘 《Born》连载技术书,第 13/22 章。

👍 1
💬 讨论回复 (0)
推荐

🌟 智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

🎁 领取 2000万 Tokens