arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1502.03504cs.PLcs.DC
收藏

面向局部的编程:一种在多级分布式存储结构上进行模板计算的简单编程模型

Locally-Oriented Programming: A Simple Programming Model for Stencil-Based Computations on Multi-Level Distributed Memory Architectures

Craig Rasmussen, Matthew Sottile, Daniel Nagle, Soren Rasmussen

摘要:

用于高性能计算的新兴混合加速器架构通常适合于使用数据并行编程模型。不幸的是,这些体系结构的程序员面临着陡峭的学习曲线,其经常需要学习新的语言(例如,OpenCL)。此外,这些机器的集群的存储器组织的分布式(并且经常是多级)性质提供了额外的复杂性。本文介绍了初步的工作,研究如何编程与本地定位可以提供更简单的访问加速器架构。面向本地的编程模型对于需要应用模板或卷积内核的算法的解决方案特别有用。在这种编程模型中,程序员通过仅修改单个数组元素(称为局部元素)来编写算法,但对局部元素周围的小型子数组具有只读访问权限。我们演示了如何一个面向本地的编程模型可以通过使用源到源程序转换作为语言扩展。

英文摘要:

Emerging hybrid accelerator architectures for high performance computing are often suited for the use of a data-parallel programming model. Unfortunately, programmers of these architectures face a steep learning curve that frequently requires learning a new language (e.g., OpenCL). Furthermore, the distributed (and frequently multi-level) nature of the memory organization of clusters of these machines provides an additional level of complexity. This paper presents preliminary work examining how programming with a local orientation can be employed to provide simpler access to accelerator architectures. A locally-oriented programming model is especially useful for the solution of algorithms requiring the application of a stencil or convolution kernel. In this programming model, a programmer codes the algorithm by modifying only a single array element (called the local element), but has read-only access to a small sub-array surrounding the local element. We demonstrate how a locally-oriented programming model can be adopted as a language extension using source-to-source program transformations.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑