A Nonlinear Hash-based Optimization Method for SpMV on GPUs