fix CG correctness
use more register
parallel loop is faster than kernels