有限元外推网格的结构利用编号算法及其在Firedrake中的性能评估

摘要:对于附有扩展网格的数据值,我们提出了一种通用算法来进行编号,然后高效地迭代这些数据值。扩展网格是通过复制现有的网格(假设为非结构化网格)形成稜柱单元的层次。扩展网格的应用包括但不限于地球物理有限元模拟中使用的3D高纵横比域的表示。这些网格在扩展方向上是结构化的。这里提出的算法利用了这种结构,避免了传统上与非结构化网格相关的性能损失。我们评估了在Firedrake有限元系统中实现这个算法在一系列低计算强度操作上的性能,这些操作构成了数据布局性能探索的最坏情况。实验结果表明,如果底层网格是有序的,那么在扩展的10-20个层之后,沿着扩展方向的间接数据访问的成本可以分摊。我们对一组典型的连续Galerkin和不连续Galerkin离散化进行了空间和时间复用的表征。在具有现实层数的网格上,实现的性能达到了理论硬件特定极限的70%到90%之间。

作者:Gheorghe-Teodor Bercea, Andrew T. T. McRae, David A. Ham, Lawrence Mitchell, Florian Rathgeber, Luigi Nardi, Fabio Luporini, Paul H. J. Kelly

论文ID:1604.05937

分类:Mathematical Software

分类简称:cs.MS

提交时间:2016-10-31

PDF 下载: 英文版 中文版pdf翻译中