Conjugate Gradient solvers are implemented by multiple streaming kernels. In this repository, both sparse-matrix based and dense-matrix based solver kernels are provided. To accelerate the convergence, a popular preconditioner, Jacobi preconditioner, is integrated with the solver.