GINKGO: A Modern Linear Operator Algebra Framework for High Performance Computing

被引:43
作者
Anzt, Hartwig [1 ,2 ]
Cojean, Terry [1 ]
Flegar, Goran [3 ]
Gobel, Fritz [1 ]
Grutzmacher, Thomas [1 ]
Nayak, Pratik [1 ]
Ribizel, Tobias [1 ]
Tsai, Yuhsiang Mike [1 ]
Quintana-Orti, Enrique S. [4 ]
机构
[1] Karlsruhe Inst Technol, Hermann von Helmholtz Pl 1, D-76344 Eggenstein Leopoldshafen, Germany
[2] Univ Tennessee, Innovat Comp Lab, Knoxville, TN 37996 USA
[3] Univ Jaume 1, Av Vicent Sos Baynat, Castellon De La Plana 12071, Spain
[4] Univ Politecn Valencia, Camino Vera, Valencia 46022, Spain
来源
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE | 2022年 / 48卷 / 01期
基金
欧盟地平线“2020”;
关键词
High performance computing; healthy software lifecycle; multi-core and manycore architectures;
D O I
10.1145/3480935
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In this article, we present GINKGO, a modern C++ math library for scientific high performance computing. While classical linear algebra libraries act on matrix and vector objects, Gnswo's design principle abstracts all functionality as linear operators," motivating the notation of a "linear operator algebra library" GINKGO'S current focus is oriented toward providing sparse linear algebra functionality for high performance graphics processing unit (GPU) architectures, but given the library design, this focus can be easily extended to accommodate other algorithms and hardware architectures. We introduce this sophisticated software architecture that separates core algorithms from architecture-specific backends and provide details on extensibility and sustainability measures. We also demonstrate GINKGO'S usability by providing examples on how to use its functionality inside the MFEM and deal.ii finite element ecosystems. Finally, we offer a practical demonstration of GINKGO'S high performance on state-of-the-art GPU architectures.
引用
收藏
页数:33
相关论文
共 24 条
[1]   The deal.II library, Version 9.0 [J].
Alzetta, Giovanni ;
Arndt, Daniel ;
Bangerth, Wolfgang ;
Boddu, Vishal ;
Brands, Benjamin ;
Davydov, Denis ;
Gassmoller, Rene ;
Heister, Timo ;
Heltai, Luca ;
Kormann, Katharina ;
Kronbichler, Martin ;
Maier, Matthias ;
Pelteret, Jean-Paul ;
Turcksin, Bruno ;
Wells, David .
JOURNAL OF NUMERICAL MATHEMATICS, 2018, 26 (04) :173-183
[2]  
Anderson R., 2019, Mfem: A modular finite element methods library
[3]  
[Anonymous], 1999, LAPACK USERSGUIDE
[4]  
[Anonymous], 2020, SUITE SPARSE MATRIX
[5]  
[Anonymous], 2003, Iterative Methods for Sparse Linear Systems, DOI DOI 10.1137/1.9780898718003
[6]  
Anzt H., 2019, P PLATF ADV SCI COMP, P1
[7]  
Anzt H., 2020, Journal of Open Source Software, V5, P2260, DOI DOI 10.21105/JOSS.02260
[8]   ParILUT - A Parallel Threshold ILU for GPUs [J].
Anzt, Hartwig ;
Ribizel, Tobias ;
Flegar, Goran ;
Chow, Edmond ;
Dongarra, Jack .
2019 IEEE 33RD INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2019), 2019, :231-241
[9]   Adaptive precision in block-Jacobi preconditioning for iterative sparse linear system solvers [J].
Anzt, Hartwig ;
Dongarra, Jack ;
Flegar, Goran ;
Higham, Nicholas J. ;
Quintana-Orti, Enrique S. .
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2019, 31 (06)
[10]   Variable-size batched Gauss-Jordan elimination for block-Jacobi preconditioning on graphics processors [J].
Anzt, Hartwig ;
Dongarra, Jack ;
Flegar, Goran ;
Quintana-Orti, Enrique S. .
PARALLEL COMPUTING, 2019, 81 :131-146