Massively parallel sparse matrix function calculations with NTPoly

被引:26
作者
Dawson, William [1 ]
Nakajima, Takahito [1 ]
机构
[1] RIKEN, Adv Inst Computat Sci, Kobe, Hyogo 6500047, Japan
关键词
Matrix functions; Quantum chemistry; Electronic structure; Networks; Sparse matrix; Linear algebra; ELECTRONIC-STRUCTURE CALCULATIONS; TIGHT-BINDING METHOD; DENSITY-MATRIX; MOLECULAR-DYNAMICS; MULTIPLICATION; PURIFICATION; DIAGONALIZATION; ALGORITHM; SEARCH; MINIMIZATION;
D O I
10.1016/j.cpc.2017.12.010
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
We present NTPoly, a massively parallel library for computing the functions of sparse, symmetric matrices. The theory of matrix functions is a well developed framework with a wide range of applications including differential equations, graph theory, and electronic structure calculations. One particularly important application area is diagonalization free methods in quantum chemistry. When the input and output of the matrix function are sparse, methods based on polynomial expansions can be used to compute matrix functions in linear time. We present a library based on these methods that can compute a variety of matrix functions. Distributed memory parallelization is based on a communication avoiding sparse matrix multiplication algorithm. OpenMP task parallellization is utilized to implement hybrid parallelization. We describe NTPoly's interface and show how it can be integrated with programs written in many different programming languages. We demonstrate the merits of NTPoly by performing large scale calculations on the K computer. Program summary Program Title: NTPoly Program Files doi: http://dx.doi.org/10.17632/mp7wzj5z5t.1 Licensing provisions: MIT Programming language: C, C++, Fortran, Python Nature of problem: Calculation of the functions of large, symmetric, sparse matrices. Solution method: Functions are expanded on a set of polynomials, after which the polynomial of a matrix is computed using sparse matrix multiplication and addition. A hybrid MPI+OpenMP implementation which exhibits strong scaling performance enables the calculation of large matrices. Unusual Features: For sufficiently sparse matrices with local characteristics, matrix functions can be computed in time that grows linearly with the number of matrix elements. (C) 2017 Elsevier B.V. All rights reserved.
引用
收藏
页码:154 / 165
页数:12
相关论文
共 94 条
[1]   EXPLOITING MULTIPLE LEVELS OF PARALLELISM IN SPARSE MATRIX-MATRIX MULTIPLICATION [J].
Azad, Ariful ;
Ballard, Grey ;
Buluc, Aydin ;
Demmel, James ;
Grigori, Laura ;
Schwartz, Oded ;
Toledo, Sivan ;
Williams, Samuel .
SIAM JOURNAL ON SCIENTIFIC COMPUTING, 2016, 38 (06) :C624-C651
[2]  
Ballard G., 2013, P 25 ANN ACM S PAR A, P222, DOI 10.1145/2486159.2486196
[3]  
Beazley D. M., 1996, TCL TK WORKSH
[4]   Bounds for the entries of matrix functions with applications to preconditioning [J].
Benzi, M ;
Golub, GH .
BIT, 1999, 39 (03) :417-438
[5]  
Blackford L., 1997, ScaLAPACK Users Guide
[6]  
Boisvert R. F., 1996, 5935 NISTIR
[7]   Sparse matrix multiplication: The distributed block-compressed sparse row library [J].
Borstnik, Urban ;
VandeVondele, Joost ;
Weber, Valery ;
Hutter, Juerg .
PARALLEL COMPUTING, 2014, 40 (5-6) :47-58
[8]   The midpoint method for parallelization of particle simulations [J].
Bowers, Kevin J. ;
Dror, Ron O. ;
Shaw, David E. .
JOURNAL OF CHEMICAL PHYSICS, 2006, 124 (18)
[9]   O(N) methods in electronic structure calculations [J].
Bowler, D. R. ;
Miyazaki, T. .
REPORTS ON PROGRESS IN PHYSICS, 2012, 75 (03)
[10]   Calculations for millions of atoms with density functional theory: linear scaling shows its potential [J].
Bowler, D. R. ;
Miyazaki, T. .
JOURNAL OF PHYSICS-CONDENSED MATTER, 2010, 22 (07)