put the preconditioner back in fortran CG and also added a u0 array
changed arguments from pointers to values in opencl when not needed