6.2.1 向量指令集


文档摘要

6.2.1 向量指令集 6.2.1 向量指令集:从寄存器布局到循环向量化落地的全栈实践 你有没有试过这样一段代码——对两个长度为 $10^6$ 的浮点数组做逐元素加法,用最朴素的 循环写出来,编译后跑在现代 x86-64 服务器上,实测吞吐只有 3.2 GB/s?而同一台机器上,用 拷贝同等大小内存,带宽轻松突破 45 GB/s。差距不是十倍,是十四倍。问题不在内存带宽,不在缓存层级,甚至不在分支预测——它卡在指令级并行的天花板上:单条 只能算 1 个 float;但 AVX-512 的 一拍就吞下 16 个单精度浮点数。这不是“更快一点”的优化,这是计算密度的代际跃迁。 向量指令集,从来不是 CPU 手册里几页冷冰冰的助记符列表。


发布者: 作者: 转发
评论区 (0)
U