Hierarchical matrix operations on GPUs: Matrix-vector multiplication and compression

dc.contributor.authorBoukaram, Wajih Halim
dc.contributor.authorTurkiyyah, George M.
dc.contributor.authorKeyes, David E.
dc.contributor.departmentDepartment of Computer Science
dc.contributor.facultyFaculty of Arts and Sciences (FAS)
dc.contributor.institutionAmerican University of Beirut
dc.date.accessioned2025-01-24T11:22:58Z
dc.date.available2025-01-24T11:22:58Z
dc.date.issued2019
dc.description.abstractHierarchical matrices are space- and time-efficient representations of dense matrices that exploit the low-rank structure of matrix blocks at different levels of granularity. The hierarchically low-rank block partitioning produces representations that can be stored and operated on in near-linear complexity instead of the usual polynomial complexity of dense matrices. In this article, we present high-performance implementations of matrix vector multiplication and compression operations for the H 2 variant of hierarchical matrices on GPUs. The H2 variant exploits, in addition to the hierarchical block partitioning, hierarchical bases for the block representations and results in a scheme that requires only O (n) storage and O (n) complexity for the mat-vec and compression kernels. These two operations are at the core of algebraic operations for hierarchical matrices, the mat-vec being a ubiquitous operation in numerical algorithms while compression/recompression represents a key building block for other algebraic operations, which require periodic recompression during execution. The difficulties in developing efficient GPU algorithms come primarily from the irregular tree data structures that underlie the hierarchical representations, and the key to performance is to recast the computations on flattened trees in ways that allow batched linear algebra operations to be performed. This requires marshaling the irregularly laid out data in a way that allows them to be used by the batched routines. Marshaling operations only involve pointer arithmetic with no data movement and as a result have minimal overhead. Our numerical results on covariance matrices from 2D and 3D problems from spatial statistics show the high efficiency our routines achieve over 550GB/s for the bandwidth-limited matrix-vector operation and over 850GFLOPS/s in sustained performance for the compression operation on the P100 Pascal GPU. © 2019 Association for Computing Machinery.
dc.identifier.doihttps://doi.org/10.1145/3232850
dc.identifier.eid2-s2.0-85062370047
dc.identifier.urihttp://hdl.handle.net/10938/25580
dc.language.isoen
dc.publisherAssociation for Computing Machinery
dc.relation.ispartofACM Transactions on Mathematical Software
dc.sourceScopus
dc.subjectCuda
dc.subjectGpu
dc.subjectHierarchical matrices
dc.subjectManycore algorithms
dc.subjectMatrix compression
dc.subjectMatvec
dc.subjectBandwidth compression
dc.subjectDigital storage
dc.subjectForestry
dc.subjectGraphics processing unit
dc.subjectProgram processors
dc.subjectTrees (mathematics)
dc.subjectMany-core
dc.subjectCovariance matrix
dc.titleHierarchical matrix operations on GPUs: Matrix-vector multiplication and compression
dc.typeArticle

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2019-7600.pdf
Size:
1.9 MB
Format:
Adobe Portable Document Format