第11章 并行性和局部性的优化

第11章 并行性和局部性的优化逐项覆盖67个核心目录层级,以结构化中间产物、运行轨迹与失败对照建立可复查的编译实验。

为什么最终输出正确仍然不够

、、、、共同构成本页坐标。用迭代空间、仿射访问和数组依赖约束统一循环变换,在无同步并行、流水线、同步数量与数据局部性之间求可证明的解。

编译器是一串互相依赖的转换。错误的扫描器可能恰好产生可分析的词法单元,错误的语法树可能被后续语义动作意外修补,错误的数据流事实可能只在冷路径暴露,违反机器约束的调度也可能在当前样本中碰巧执行。因此必须保存阶段输入、输出和不变量,定位第一处偏离,不能把单个样例跑通当作证明。

常见误区

四类样本与通过条件

样本单一变量必查证据通过条件
正常一个最小语言或机器功能全阶段快照与预测一致
边界深度、宽度、延迟或压力临界分支和成本边界可解释
失败一个文法、事实或约束首错与下游停止不产出伪结果
优化一个变换或策略前后IR与差分执行等价且收益可解释

练习

小结

  • 迭代空间:连接“建立迭代域”的算法前提、结构化产物、成本和回归证据。
  • 仿射变换:连接“提取仿射访问”的算法前提、结构化产物、成本和回归证据。
  • 数组依赖:连接“求解依赖约束”的算法前提、结构化产物、成本和回归证据。
  • 空间划分:连接“选择空间时间变换”的算法前提、结构化产物、成本和回归证据。
  • 时间划分:连接“生成边界代码”的算法前提、结构化产物、成本和回归证据。
  • 本页67个核心目录层级均已进入可追溯的编译证据链。

术语表

讨论

评论区加载中…