Skip to content

底层 / SIMD / 硬件视角(Low-level)专题

HPC/AI Infra 最“硬核”的一块:SIMD 向量化、cache/storage、CPU 流水线、NUMA、硬件内存序。这些能把“会用”的候选人筛出去。

问题清单

  1. SIMD 是什么 / SSE/AVX 基础数据类型与指令族?为什么能加速(一次算多个元素)?
  2. 自动向量化 vs intrinsic vs 手写:什么时候各用哪个?
  3. 矩阵/SGEMM/点积怎么向量化 + FMA + 展开?
  4. 硬件内存序:为什么 release/acquire 够用?(store buffer、invalidate queue)
  5. NUMA / cache-coherent 多核:跨 NUMA 访问代价 / 亲和性?
  6. CPU 流水线:分支预测、乱序执行、ILP、依赖链对代码意义?
  7. RDTSC / steady_clock 测时精度与陷阱。
  8. 什么时候硬件线程/超线程能帮?(同核两个线程争执行单元 vs 访存延迟隐藏)
  9. 汇编/内联 asm 何时必要(特殊指令、simd、原子定序)。
  10. 现代 CPU 定点:Apple/Intel/AMD uarch 差异对 code 的影响?(说常见即可,别背死型号)

子文档

文件内容
index.md本总览
simd.mdSIMD/向量化/intrinsic
cpu-hardware.md乱序/分支/依赖链/ILP/超线程
numa-coherence.md缓存一致性、NUMA、亲和性
measure-timing.md测时、RDTSC、clock 精度

C++ 面试八股 · VitePress 版