Appearance
底层 / SIMD / 硬件视角(Low-level)专题
HPC/AI Infra 最“硬核”的一块:SIMD 向量化、cache/storage、CPU 流水线、NUMA、硬件内存序。这些能把“会用”的候选人筛出去。
问题清单
- SIMD 是什么 / SSE/AVX 基础数据类型与指令族?为什么能加速(一次算多个元素)?
- 自动向量化 vs intrinsic vs 手写:什么时候各用哪个?
- 矩阵/SGEMM/点积怎么向量化 + FMA + 展开?
- 硬件内存序:为什么 release/acquire 够用?(store buffer、invalidate queue)
- NUMA / cache-coherent 多核:跨 NUMA 访问代价 / 亲和性?
- CPU 流水线:分支预测、乱序执行、ILP、依赖链对代码意义?
- RDTSC / steady_clock 测时精度与陷阱。
- 什么时候硬件线程/超线程能帮?(同核两个线程争执行单元 vs 访存延迟隐藏)
- 汇编/内联 asm 何时必要(特殊指令、simd、原子定序)。
- 现代 CPU 定点:Apple/Intel/AMD uarch 差异对 code 的影响?(说常见即可,别背死型号)
子文档
| 文件 | 内容 |
|---|---|
index.md | 本总览 |
simd.md | SIMD/向量化/intrinsic |
cpu-hardware.md | 乱序/分支/依赖链/ILP/超线程 |
numa-coherence.md | 缓存一致性、NUMA、亲和性 |
measure-timing.md | 测时、RDTSC、clock 精度 |