Skip to content

GPU simple_kick fix

Simon Albright requested to merge GPUKickFix into master

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.

Merge request reports