arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 1903.08243cs.MS
收藏

无矩阵有限元法的矢量化研究

A study of vectorization for matrix-free finite element methods

Tianjiao Sun, Lawrence Mitchell, Kaushik Kulkarni, Andreas Klöckner, David A. Ham, Paul H. J. Kelly

摘要:

为了在具有SIMD指令的现代硬件上实现高性能,矢量化变得越来越重要。有限元法中矩阵和向量的组合是在非结构网格上迭代的一个局部组合核,这给有效的向量化带来了困难。在为有限元法生成高效的矢量化代码的同时,保持具有适当抽象程度的用户友好的高级接口是数值软件系统和库的挑战。在这项工作中,我们研究了跨元素向量化的有限元框架Firedrake通过代码转换,并证明了这种方法的有效性,通过评估广泛的无矩阵运营商跨越不同的多项式次数和离散化两个最近的CPU使用三个主流编译器。我们的实验表明,我们的跨元素矢量化方法实现了30%的理论峰值性能的许多实际意义的例子,并超过50%的情况下,具有高算术强度,一致的加速(内部元素)矢量化限制在本地汇编内核。

英文摘要:

Vectorization is increasingly important to achieve high performance on modern hardware with SIMD instructions. Assembly of matrices and vectors in the finite element method, which is characterized by iterating a local assembly kernel over unstructured meshes, poses difficulties to effective vectorization. Maintaining a user-friendly high-level interface with a suitable degree of abstraction while generating efficient, vectorized code for the finite element method is a challenge for numerical software systems and libraries. In this work, we study cross-element vectorization in the finite element framework Firedrake via code transformation and demonstrate the efficacy of such an approach by evaluating a wide range of matrix-free operators spanning different polynomial degrees and discretizations on two recent CPUs using three mainstream compilers. Our experiments show that our approaches for cross-element vectorization achieve 30\% of theoretical peak performance for many examples of practical significance, and exceed 50\% for cases with high arithmetic intensities, with consistent speed-up over (intra-element) vectorization restricted to the local assembly kernels.

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

↑