Devito模板自动计算系统的结构与性能
Architecture and performance of Devito, a system for automated stencil computation
摘要:
模板计算是许多高性能计算应用的关键部分,例如图像处理、卷积神经网络和偏微分方程的有限差分求解器。Devito是一个能够生成高度优化的代码的框架,给出了用Python表示的符号方程,专门用于但不限于仿射(模板)代码。从数学方程到C++代码的降低过程由Devito编译器通过一系列中间表示来执行。介绍了几种性能优化,包括高级公共子表达式消除,平铺和并行化。其中一些是通过完善的模板优化器获得的,集成在Devito编译器的后端。Devito编译器的体系结构,以及生成代码时应用的性能优化,提出。这种性能优化的有效性证明使用运营商从地震成像应用程序。
英文摘要:
Stencil computations are a key part of many high-performance computing applications, such as image processing, convolutional neural networks, and finite-difference solvers for partial differential equations. Devito is a framework capable of generating highly-optimized code given symbolic equations expressed in Python, specialized in, but not limited to, affine (stencil) codes. The lowering process---from mathematical equations down to C++ code---is performed by the Devito compiler through a series of intermediate representations. Several performance optimizations are introduced, including advanced common sub-expressions elimination, tiling and parallelization. Some of these are obtained through well-established stencil optimizers, integrated in the back-end of the Devito compiler. The architecture of the Devito compiler, as well as the performance optimizations that are applied when generating code, are presented. The effectiveness of such performance optimizations is demonstrated using operators drawn from seismic imaging applications.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。