GPU simple_kick fix
The way the RF parameters are passed into the simple_kick
kernel means that the indexing in the kernel selects the wrong value. Correctly, the reference for the arrays should be passed, along with turn number and array shapes to allow proper indexing. To do this correctly will probably require a fair bit of work. As a temporary solution, the arrays can be cast to a new CuPy
array (cp.array([parameter])
) when invoking the kernel. It adds a little time, but gives the correct result.
The track_iteration
parts can be ignored, only the change to butils_wrap_cupy
are relevant here.