diff --git a/include/ck_tile/core/config.hpp b/include/ck_tile/core/config.hpp index 1ecc28fbeb..3a1ddd8abd 100644 --- a/include/ck_tile/core/config.hpp +++ b/include/ck_tile/core/config.hpp @@ -263,3 +263,9 @@ #ifndef CK_TILE_WA_ISSUE_2028 #define CK_TILE_WA_ISSUE_2028 0 #endif + +// Y pointed to R, we don't see a valuable use case. +// Will enforce encoding to check Y not pointed to R if set to zero +#ifndef CK_TILE_ENC_SUPPORT_Y_TO_R +#define CK_TILE_ENC_SUPPORT_Y_TO_R 0 +#endif diff --git a/include/ck_tile/core/tensor/tile_distribution_encoding.hpp b/include/ck_tile/core/tensor/tile_distribution_encoding.hpp index 30cd698595..52a16f32bd 100644 --- a/include/ck_tile/core/tensor/tile_distribution_encoding.hpp +++ b/include/ck_tile/core/tensor/tile_distribution_encoding.hpp @@ -47,6 +47,11 @@ struct tile_distribution_encoding static constexpr auto ys_to_rhs_major_ = Ys2RHsMajor{}; static constexpr auto ys_to_rhs_minor_ = Ys2RHsMinor{}; +#if !CK_TILE_ENC_SUPPORT_Y_TO_R + static_assert(container_find(ys_to_rhs_major_, 0) == NDimY, + "do not support Y dim pointed to R dim"); +#endif + // redundant but useful info // TODO: really bad code, should be over-hauled struct detail