首页> 外文会议>ACM SIGPLAN Conference on Programming Language Design and Implementation >Terra: A Multi-Stage Language for High-Performance Computing
【24h】

Terra: A Multi-Stage Language for High-Performance Computing

机译:Terra:高性能计算的多阶段语言

获取原文

摘要

High-performance computing applications, such as auto-tuners and domain-specific languages, rely on generative programming techniques to achieve high performance and portability. However, these systems are often implemented in multiple disparate languages and perform code generation in a separate process from program execution, making certain optimizations difficult to engineer. We leverage a popular scripting language, Lua, to stage the execution of a novel low-level language, Terra. Users can implement optimizations in the high-level language, and use built-in constructs to generate and execute high-performance Terra code. To simplify meta-programming, Lua and Terra share the same lexical environment, but, to ensure performance, Terra code can execute independently of Lua's runtime. We evaluate our design by reimplementing existing multi-language systems entirely in Terra. Our Terra-based auto-tuner for BLAS routines performs within 20% of ATLAS, and our DSL for stencil computations runs 2.3x faster than hand-written C.
机译:高性能计算应用程序,如自动调谐器和特定于域的语言,依靠生成的编程技术来实现高性能和可移植性。然而,这些系统通常以多种不同的语言实现,并在单独的过程中执行代码生成,从程序执行,使得一定的优化难以工程师。我们利用流行的脚本语言Lua,逐步执行新颖的低级语言Terra。用户可以在高级语言中实现优化,并使用内置构造来生成和执行高性能的Terra代码。为了简化元编程,Lua和Terra分享相同的词汇环境,但是,为了确保性能,Terra代码可以独立于Lua的运行时执行。我们通过完全在Terra中重新实现现有的多语言系统来评估我们的设计。我们的Terra为BLAS例程的自动调谐器在ATLA的20%内执行,我们的模板计算的DSL比手写的速度快2.3倍。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号