Related to https://github.com/kokkos/kokkos/issues/6897.
This documents current behavior. The Serial backend calls the functor only once with final=true while the Cuda backend calls the functor once with final=false in its first kernel, once with final=false and once with final=true in its second kernel.
This led to hard-to-understand problems when trying to cache results for final=false. The very least we can do is to document current restrictions better.
Related to https://github.com/kokkos/kokkos/issues/6897. This documents current behavior. The
Serial
backend calls the functor only once withfinal=true
while theCuda
backend calls the functor once withfinal=false
in its first kernel, once withfinal=false
and once withfinal=true
in its second kernel. This led to hard-to-understand problems when trying to cache results forfinal=false
. The very least we can do is to document current restrictions better.