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)?
Thanks,
Tahir
Multiple hybrid gpu linear solver
Re: Multiple hybrid gpu linear solver
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.
-mark
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.
-mark