Skip to main content
QUICK REVIEW

[论文解读] Conformal Computing: Algebraically connecting the hardware/software boundary using a uniform approach to high-performance computation for software and hardware applications

Lenore Mullin, James E. Raynolds|ArXiv.org|Mar 17, 2008
Quantum Computing Algorithms and Architecture参考文献 2被引用 8
一句话总结

本文提出了共形计算(Conformal Computing),一种基于数组数学(MoA)和ψ-演算的正式代数方法,用于统一硬件与软件优化。该方法通过ψ-约化实现可数学证明的高性能代码生成,在重构数据访问模式并证明不同实现间的算法等价性方面,使缓存优化的FFT实现获得2–4倍的性能提升。

ABSTRACT

We present a systematic, algebraically based, design methodology for efficient implementation of computer programs optimized over multiple levels of the processor/memory and network hierarchy. Using a common formalism to describe the problem and the partitioning of data over processors and memory levels allows one to mathematically prove the efficiency and correctness of a given algorithm as measured in terms of a set of metrics (such as processor/network speeds, etc.). The approach allows the average programmer to achieve high-level optimizations similar to those used by compiler writers (e.g. the notion of "tiling"). The approach presented in this monograph makes use of A Mathematics of Arrays (MoA, Mullin 1988) and an indexing calculus (i.e. the psi-calculus) to enable the programmer to develop algorithms using high-level compiler-like optimizations through the ability to algebraically compose and reduce sequences of array operations. Extensive discussion and benchmark results are presented for the Fast Fourier Transform and other important algorithms.

研究动机与目标

  • 开发一种正式的代数框架,弥合高性能计算中硬件与软件的边界。
  • 实现跨内存与处理器层次的数组算法系统化、可数学证明的优化。
  • 通过面向缓存和分布式内存优化的高性能FFT实现,证明该方法的有效性。
  • 提供一种形式化体系,支持代码生成、等价性证明以及在包括未来量子系统在内的多种架构间的可移植性。
  • 将现有高级编程抽象(如表达式模板)扩展为具有形式化约化规则的体系,以确保正确性与性能。

提出的方法

  • 该方法采用数组数学(MoA)在正式代数框架中表示多维数组及其操作。
  • 使用ψ-演算表示元素级访问与索引,支持数组表达式的代数组合与约化。
  • 关键操作如重塑、转置和蝴蝶重排通过ψ-约化表达并优化,以推导出操作正规形式(ONF)。
  • ONF作为高效代码生成的数学处方,可直接映射为优化的低级实现。
  • 该方法使用记号正规形式(DNF)与操作正规形式(ONF),正式证明等价性并优化数据访问模式。
  • 采用超立方体索引将数组重新组织为与缓存和内存层次结构对齐的形状,以最小化延迟并最大化局部性。

实验结果

研究问题

  • RQ1如何构建一种统一的代数形式化体系,以同时描述算法逻辑与硬件内存层次结构?
  • RQ2ψ-约化能否用于正式推导并证明优化数组算法(如FFT)的正确性?
  • RQ3该形式化体系在性能上能在多大程度上达到或超越手工调优的库例程?
  • RQ4该方法如何扩展以支持任意数组访问模式,如量子模拟中的访问模式?
  • RQ5该方法能否实现对多种目标(包括MPI、OpenMP及硬件加速器)的优化代码自动生成?

主要发现

  • 使用共形计算实现的缓存优化FFT,相较于先前发表的工作及高度调优的库例程,性能提升达2至4倍。
  • ψ-约化过程可正式推导出操作正规形式(ONF),后者直接规定高效代码生成。
  • 该方法可通过代数组合操作消除不必要的临时数组,提升内存效率。
  • 超立方体索引方法可高效重组数据访问模式,使其与缓存行大小和内存带宽相匹配。
  • 该形式化体系支持高阶表达式与低阶实现之间算法等价性的数学证明。
  • 该方法已成功应用于量子模拟器,通过索引向量操作实现高效稀疏矩阵访问与分块对角化。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。