Multiple hybrid gpu linear solver

Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)
Post Reply
Posts: 3
Joined: Wed Aug 07, 2019 2:03 pm

Multiple hybrid gpu linear solver

Post by tmalas » Thu Dec 19, 2019 4:09 pm

Hi All,

I see that magma has no multiple gpu linear solver where the matrix is initially in CPU host memory, e.g., there is no magma_cgesv_m routine. There is the multiple gpu factorization routine, e.g., magma_cgetrf_m, but the fw/bw LU solvers are all gpu versions, i.e., there is no magma_cgetrs_m. So, is there a way to solve a large matrix that does not fit in available total GPU memory using magma? Or to rephrase, is the only multiple GPU option for large matrices is to use CPU LAPACK routine (cgetrs) for the second phase (fw/bw LU)?



Posts: 902
Joined: Fri Jan 06, 2012 2:13 pm

Re: Multiple hybrid gpu linear solver

Post by mgates3 » Thu Dec 19, 2019 4:26 pm

magma_cgesv works on multiple GPUs; it calls magma_cgetrf, which calls magma_cgetrf_m.

However, as you observe, the forward and back solves (getrs) are on the CPU. It's unclear if multi-GPU pivoting (laswp) and triangular solves (trsm) in getrs would benefit from the GPU, since there would be significant communication costs between GPUs. But on recent HPC machines where GPUs have > 97% of the peak performance, it may be beneficial.


Post Reply