It is possible to make very few changes to `ConjugateGradients.jl` to have GPU support through `KernelAbstractions.jl`, as you can see in our fork https://github.com/Arpit-Babbar/ConjugateGradientsGPU.jl @mcovalt Would you be interested in having it merged into `ConjugateGradients.jl`?