https://hgpu.org/?p=1202
Sparse matrix solvers on the GPU: conjugate gradients and multigrid