We present a compilation framework in which dimensional type annotations persist through multi-stage MLIR lowering, enabling the compiler to jointly resolve numeric representation selection and deterministic memory management as coeffect properties of a single program semantic graph (PSG). Dimensional inference determines value ranges; value ranges determine representation selection; representation selection determines word width and memory footprint; and memory footprint, combined with escape classification, determines allocation strategy and cross-target transfer fidelity. The Dimensional Type System (DTS) extends Hindley-Milner unification with constraints drawn from finitely generated abelian groups, yielding inference that is decidable in polynomial time, complete, and principal. Where conventional systems erase dimensional annotations before code generation, DTS carries them as compilation metadata through each lowering stage, making them available where representation and memory placement decisions occur. Deterministic Memory Management (DMM), formalized as a coeffect discipline within the same graph, unifies escape analysis and memory placement with the dimensional framework. Escape analysis classifies value lifetimes into four categories (stack-scoped, closure-captured, return-escaping, byref-escaping), each mapping to a verified allocation strategy. We identify implications for auto-differentiation: the dimensional algebra is closed under the chain rule, and forward-mode gradient computation exhibits a coeffect signature that the framework can verify. The practical consequence is a development environment where escape diagnostics, allocation strategy, representation fidelity, and cache locality estimation are design-time views over the compilation graph.
翻译:我们提出一种编译框架,在该框架中维度类型注解贯穿多阶段MLIR降级过程,使编译器能够将数值表示选择与确定性内存管理联合解析为单一程序语义图(PSG)的协同效应属性。维度推断确定取值范围;取值范围确定表示选择;表示选择确定字宽与内存占用;而内存占用结合逃逸分类确定分配策略与跨目标传输保真度。维度类型系统(DTS)通过有限生成阿贝尔群约束扩展Hindley-Milner类型合一,实现了多项式时间可判定、完备且主位的推理。传统系统在代码生成前擦除维度注解,而DTS将其作为编译元数据贯穿每个降级阶段,使其在表示与内存布局决策点可用。同一图内形式化为协同效应规则的确定性内存管理(DMM),将逃逸分析与内存布局统一到维度框架下。逃逸分析将值生命周期分为四类(栈作用域、闭包捕获、返回值逃逸、引用逃逸),每类映射至可验证的分配策略。我们识别了自动微分的启示:维度代数在链式法则下封闭,前向模式梯度计算呈现框架可验证的协同效应签名。实际结果是:逃逸诊断、分配策略、表示保真度与缓存局部性估计成为编译图的设计时视图的开发环境。