Abstract
The sparse matrix–vector multiply (SpMV) operation is a key computational kernel in many simulations and linear solvers. The large communication requirements associated with a reference implementation of a parallel SpMV result in poor parallel scalability. The cost of communication depends on the physical locations of the send and receive processes: messages injected into the network are more costly than messages sent between processes on the same node. In this paper, a node aware parallel SpMV (NAPSpMV) is introduced to exploit knowledge of the system topology, specifically the node-processor layout, to reduce costs associated with communication. The values of the input vector are redistributed to minimize both the number and the size of messages that are injected into the network during a SpMV, leading to a reduction in communication costs. A variety of computational experiments that highlight the efficiency of this approach are presented.
Original language | English (US) |
---|---|
Pages (from-to) | 166-178 |
Number of pages | 13 |
Journal | Journal of Parallel and Distributed Computing |
Volume | 130 |
DOIs | |
State | Published - Aug 2019 |
Keywords
- Matrix–vector multiplication
- Node aware
- Parallel communication
- SpMV
- Sparse
ASJC Scopus subject areas
- Software
- Theoretical Computer Science
- Hardware and Architecture
- Computer Networks and Communications
- Artificial Intelligence