GPU support for sparse matrix calculations in PETSc, with applications to nonlinear Stokes - D. Karpeev (Geophysical journal, 2010)