返回
Generating Coupled Cluster Code for Modern Distributed-Memory Tensor Software
DOI:10.1021/acs.jctc.5c00219.png)
摘要
En 中文
由于异构硬件结构的存在,高效利用基于GPU的高性能计算平台进行耦合簇计算是一项挑战。不断需要将软件适配这些结构以及所需的人力资源使得高性能代码开发的系统化成为必要,对于更高阶的耦合簇而言更是如此。这通常通过引入问题的更高层表示来实现,随后利用编译器/转换器组件将其翻译为硬件的低级指令。设计此类软件带来了另一个挑战:既要捕获张量的关键对称性以实现高效实现,又要保持与硬件的抽象分离。我们回顾了应对这两项挑战的方法,并介绍了引导我们开发通用阶耦合簇代码生成器的设计决策。系统生成的代码展现出优异的弱缩放行为,使用分布式内存张量库ExaTENSOR可在多达1200个GPU上运行。我们提出了一个开源的模块化张量框架″tenpi″,用于耦合簇代码开发,该框架包含图示推导、可视化模块、符号代数、中间优化以及对多种张量后端的支持。Tenpi将高阶CC功能引入到DIRAC代码中用于相对论分子计算的ExaCorr大规模并行模块。
Keyword:
GPU computing
coupled cluster
high-performance computing
tensor algebra
code generation

