Currently, events processed by the GPU may have different flavor index per threads in a warp.
This can result in thread divergence, especially when some HELAS routines are zero for some flavor combinations.
This has been solved on the SIMD point of view, by grouping events having the same flavor index together in the same SIMD vector.
For GPU we would need to do the same, and ensure the warps of 32 threads have all the same flavor index, to favour perfect lockstep processing.
Currently, events processed by the GPU may have different flavor index per threads in a warp.
This can result in thread divergence, especially when some HELAS routines are zero for some flavor combinations.
This has been solved on the SIMD point of view, by grouping events having the same flavor index together in the same SIMD vector.
For GPU we would need to do the same, and ensure the warps of 32 threads have all the same flavor index, to favour perfect lockstep processing.