首页> 外文学位 >Symbolic compilation techniques for array computations.
【24h】

Symbolic compilation techniques for array computations.

机译:用于数组计算的符号编译技术。

获取原文
获取原文并翻译 | 示例

摘要

This dissertation presents two symbolic compilation frameworks for exploiting high-level semantic information of arrays in numerical codes in order to enable performance-enhancing transformations.; Matrixization is a framework for summarizing loop nests in terms of matrix and array operations. In a statically compiled language such as C or Fortran, it may be used to map loop nests to efficient hand-coded numerical libraries or special-purpose hardware. In a dynamically interpreted language such as MATLAB, it may also be used to eliminate significant interpretation overhead. In the process of detecting high-level operations, matrixization is able to exploit properties such as associativity of matrix multiplication to produce more efficient code. Matrixization is implemented and evaluated as a just-in-time optimization in MAJIC, a research platform for MATLAB.; Fractal symbolic analysis is a symbolic framework to prove the validity of reordering program transformations. While symbolic comparison of two programs is generally undecidable, this framework compares a program and its transformed version by repeatedly simplifying these programs until symbolic analysis becomes tractable, ensuring that equality of simplified programs is sufficient to guarantee equality of the original programs. Fractal symbolic analysis subsumes conventional dependence analysis, yet enables a compiler to perform optimizations conservatively disallowed by dependence analysis such as those on reduction and pivoting codes. It is the first general framework capable of enabling critical optimizations on LU factorization with partial pivoting, a key numerical linear algebra operation, and thus solves what had been an open problem for the past decade in the restructuring compiler community.
机译:本文提出了两种符号编译框架,用于利用数字代码中的数组的高级语义信息来实现性能增强的转换。 Matrixization 是一个用于根据矩阵和数组操作总结循环嵌套的框架。在诸如C或Fortran的静态编译语言中,它可以用于将循环嵌套映射到有效的手工编码数字库或专用硬件。在诸如MATLAB的动态解释语言中,也可以使用它来消除大量的解释开销。在检测高级操作的过程中,矩阵化能够利用诸如矩阵乘法的关联性之类的属性来生成更有效的代码。矩阵化是作为MATLAB的研究平台MAJIC的即时优化而实施和评估的。 分形符号分析是一个符号框架,用于证明重新排序程序转换的有效性。虽然通常无法确定两个程序的符号比较,但是此框架通过反复简化这些程序直到符号分析变得容易处理,从而比较了一个程序及其转换版本,从而确保简化程序的等同性足以保证原始程序的等同性。分形符号分析包含了常规的依存关系分析,但是使编译器能够执行依存关系分析保守地不允许的优化,例如归约和枢轴代码的优化。它是第一个通用框架,能够通过部分枢轴(关键的数值线性代数运算)对LU分解进行关键优化,从而解决了过去十年来在重组编译器社区中一直存在的开放问题。

著录项

  • 作者

    Menon, Vijay S.;

  • 作者单位

    Cornell University.;

  • 授予单位 Cornell University.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2000
  • 页码 133 p.
  • 总页数 133
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号