Efficient and portable sparse solvers for heterogeneous high performance computing systems