Randomized GPU algorithms for the construction of hierarchical matrices from matrix-vector operations
KAUST DepartmentComputer Science Program
Applied Mathematics and Computational Science Program
Extreme Computing Research Center
Computer, Electrical and Mathematical Sciences and Engineering (CEMSE) Division
KAUST Grant NumberOSR-2018-CARF-3666
Online Publication Date2019-07-09
Print Publication Date2019-01
Permanent link to this recordhttp://hdl.handle.net/10754/656844
MetadataShow full item record
AbstractRandomized algorithms for the generation of low rank approximations of large dense matrices have become popular methods in scientific computing and machine learning. In this paper, we extend the scope of these methods and present batched GPU randomized algorithms for the efficient generation of low rank representations of large sets of small dense matrices, as well as their generalization to the construction of hierarchically low rank symmetric H2 matrices with general partitioning structures. In both cases, the algorithms need to access the matrices only through matrix-vector multiplication operations which can be done in blocks to increase the arithmetic intensity and substantially boost the resulting performance. The batched GPU kernels are adaptive, allow nonuniform sizes in the matrices of the batch, and are more effective than SVD factorizations on matrices with fast decaying spectra. The hierarchical matrix generation consists of two phases, interleaved at every level of the matrix hierarchy. A first phase adaptively generates low rank approximations of matrix blocks through randomized matrix-vector sampling. A second phase accumulates and compresses these blocks into a hierarchical matrix that is incrementally constructed. The accumulation expresses the low rank blocks of a given level as a set of local low rank updates that are performed simultaneously on the whole matrix allowing high-performance batched kernels to be used in the compression operations. When the ranks of the blocks generated in the first phase are too large to be processed in a single operation, the low rank updates can be split into smaller-sized updates and applied in sequence. Assuming representative rank k, the resulting matrix has optimal O(kN) asymptotic storage complexity because of the nested bases it uses. The ability to generate an H2 matrix from matrix-vector products allows us to support a general randomized matrix-matrix multiplication operation, an important kernel in hierarchical matrix computations. Numerical experiments demonstrate the high performance of the algorithms and their effectiveness in generating hierarchical matrices to a desired target accuracy.
CitationBoukaram, W., Turkiyyah, G., & Keyes, D. (2019). Randomized GPU Algorithms for the Construction of Hierarchical Matrices from Matrix-Vector Operations. SIAM Journal on Scientific Computing, 41(4), C339–C366. doi:10.1137/18m1210101
SponsorsThis work was supported by KAUST through the Extreme Computing Research Center and project OSR-2018-CARF-3666. The work of the second author was supported by QNRF under grant NPRP-5-995-2-415.