You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is there a reason layouts are defaulted to LayoutRight for kokkos.arrays instead of being exec space preference based like native Kokkos?
Currently, if one creates a CudaSpace array without specifying LayoutLeft, a LayoutRight array is created, and the predictable performance hit is experienced. We could add some simple logic to the array creation like is already done if a numpy array is passed. Or better yet just access the space's preferred layout straight from kokkos source (nor sure if that's feasible or not). I guess at this point its more or less as simple as GPU <-> Left CPU <-> Right so its not too tedious to just specify on the python side.
The text was updated successfully, but these errors were encountered:
Is there a reason layouts are defaulted to LayoutRight for kokkos.arrays instead of being exec space preference based like native Kokkos?
No, it was just an oversight.
Or better yet just access the space's preferred layout straight from kokkos source (nor sure if that's feasible or not).
It wouldn't be terribly difficult to create a get_default_layout(<memory-space>) function which accepts a memory space enum in enumeration.cpp which returns the preferred layout -- as long as you can follow along with the existing template metaprogramming. Then you could just change the default param to None in utility.py and make that call when it is None.
Unfortunately, I am no longer actively handling this sort of development. If you can't, ping @crtrott and @dalg24 and they might be able to find a core dev that can do it.
Is there a reason layouts are defaulted to LayoutRight for kokkos.arrays instead of being exec space preference based like native Kokkos?
Currently, if one creates a CudaSpace array without specifying LayoutLeft, a LayoutRight array is created, and the predictable performance hit is experienced. We could add some simple logic to the array creation like is already done if a numpy array is passed. Or better yet just access the space's preferred layout straight from kokkos source (nor sure if that's feasible or not). I guess at this point its more or less as simple as GPU <-> Left CPU <-> Right so its not too tedious to just specify on the python side.
The text was updated successfully, but these errors were encountered: