diff --git a/include/ck_tile/core/tensor/tile_distribution.hpp b/include/ck_tile/core/tensor/tile_distribution.hpp index 606b346e19..9392b9be48 100644 --- a/include/ck_tile/core/tensor/tile_distribution.hpp +++ b/include/ck_tile/core/tensor/tile_distribution.hpp @@ -114,7 +114,22 @@ struct tile_distribution } else if constexpr(NDimP == 2) { - return array{get_warp_id(), get_lane_id()}; + return array{get_warp_id_to_sgpr(), get_lane_id()}; + } + } + + CK_TILE_HOST_DEVICE static auto _get_partition_index_v2() + { + // only support warp-tile and block-tile + static_assert(NDimP == 1 or NDimP == 2, "wrong!"); + + if constexpr(NDimP == 1) + { + return array{get_lane_id()}; + } + else if constexpr(NDimP == 2) + { + return array{get_warp_id_to_vgpr(), get_lane_id()}; } }