Abstract
HACApK is a software package for solving dense linear systems of equations and is used in other software packages, like ppohBEM for solving boundary integral equations. To enable the solution of large-scale boundary value problems, HACApK hierarchically compresses the coefficient matrix and uses the BiConjugate Gradient Stabilized (BiCGStab) method for solving the linear system. To extend HACApK's capability, this paper outlines how we ported the HACApK linear solver onto GPU clusters. Though the potential of GPUS has been widely accepted in high-performance computing, it is still a challenge to utilize the GPUS for a solver, like HACApK, that requires fine-grained irregular computation and global communication. To utilize the GPUS, we integrated the variable-size batched GPU kernel that was recently released in the MAGMA software package. This is the first time the variable-size batched kernels were used in a solver or application code. We discuss several techniques to improve the performance of the batched kernel and demonstrate the effects of these techniques on two state-of-The-Art GPU clusters. For instance, with two 14-core Intel Xeon CPUs and four NVIDIA P100 GPUS per node, the GPU kernel obtained a solver speedup of 8× on one node and 4× on eight nodes. We also show that when the inter-GPU communication becomes significant, the solution time can be further reduced by a factor of 2× by carefully designing the communication layer with the underlying node architecture in mind.
Original language | English |
---|---|
Title of host publication | Proceedings - 2018 IEEE 32nd International Parallel and Distributed Processing Symposium, IPDPS 2018 |
Publisher | IEEE |
Pages | 930-939 |
Number of pages | 10 |
ISBN (Print) | 9781538643686 |
DOIs | |
Publication status | Published - 2018 |
Event | 32nd IEEE International Parallel and Distributed Processing Symposium, IPDPS 2018 - Vancouver, Canada Duration: 21 May 2018 → 25 May 2018 |
Conference
Conference | 32nd IEEE International Parallel and Distributed Processing Symposium, IPDPS 2018 |
---|---|
Country/Territory | Canada |
City | Vancouver |
Period | 21/05/18 → 25/05/18 |
Keywords
- Distributed memory
- GPU
- Hierarchical Matrix
- Krylov