标签

#Simd

3 篇

低延迟系统开发 #15 约 8 分钟

SIMD 向量化与 intrinsics

一条指令算一排数,前提是编译器知道能用多宽的寄存器、确定没有重叠、允许重排;这三条做不到时,用 intrinsics 自己写,代价是对齐、指令集检测和结果的最后几位。

低延迟系统开发 #9 约 18 分钟

循环优化

点积循环 -O3 报告“已向量化”,四个加法却还是一个等一个:浮点加法不满足结合律,编译器不敢换顺序。循环优化真正要你管的,是这类挡住编译器的地方,和它不会替你做的改动。

低延迟系统开发 专题 约 30 分钟

内存延迟与带宽

一次内存访问约 100 ns、运回 64 B,一次一个只有 0.64 GB/s,可一个核顺序读能拿到 15–60 GB/s,差出来的倍数就是同时在路上的请求数。下一次读的地址要不要等这一次读回来,决定了代码受延迟还是受带宽限制。