Block Conjugate-Gradient Method With Multilevel Preconditioning and GPU Acceleration for FEM Problems in Electromagnetics
In this letter, a graphics processing unit (GPU)-accelerated block conjugate-gradient solver with multilevel preconditioning is presented for solving a large system of sparse equations with multiple right-hand sides (RHSs), which arise in the finite-element analysis of electromagnetic problems. We demonstrate that blocking reduces the time to solution significantly and allows for better utilization of the computing power of GPUs, especially when the system matrix is complex valued. We show that, for a complex-valued sparse matrix with over $\text{1.2}$ million unknowns and 16 RHSs, the block version of the preconditioned conjugate-gradient method using a single NVIDIA Tesla P100 accelerator is almost three times faster than a nonblocked version. Numerical tests have also shown that a central processing unit (CPU)-only nonblocked complex implementation is unlikely to benefit much from blocking. Compared to an optimized CPU-only solver using an Intel Xeon E5-2680 v3 with 12 cores, the nonblocked GPU-accelerated version was $\text{4.5}$ times faster, while the blocked version was $\text{12.4}$ times faster.