[CK_BUILDER] Add grouped conv bwd ck tile traits (#3281)

* [CK_BUILDER] Add grouped conv bwd ck tile traits

* copilot fixes
This commit is contained in:
Bartłomiej Kocot
2025-11-25 14:57:43 +01:00
committed by GitHub
parent ab0101c59c
commit 9ac2666d5b
10 changed files with 583 additions and 13 deletions

View File

@@ -14,6 +14,10 @@
#include "ck_tile/ops/grouped_convolution/utils/transform_conv_bwd_data_to_gemm.hpp"
#include "ck_tile/ops/grouped_convolution/utils/grouped_convolution_utils.hpp"
#ifdef CK_EXPERIMENTAL_BUILDER
#include "ck_tile/builder/reflect/instance_traits_tile_grouped_convolution_backward_data.hpp"
#endif
namespace ck_tile {
/// @brief The Grouped Convolution kernel device arguments.
@@ -565,6 +569,19 @@ struct GroupedConvolutionBackwardDataKernel
// clang-format on
}
#ifdef CK_EXPERIMENTAL_BUILDER
CK_TILE_HOST std::string GetInstanceString() const
{
static_assert(ck_tile::reflect::HasInstanceTraits<GroupedConvolutionBackwardDataKernel>,
"Specialization of instance_traits not found. Please check that a "
"specialization exists in file "
"ck_tile/builder/reflect/"
"instance_traits_tile_grouped_convolution_backward_data.hpp "
"for the given template parameters.");
return ck_tile::reflect::instance_string<GroupedConvolutionBackwardDataKernel>();
}
#endif
CK_TILE_HOST static auto GridSize(const GroupedConvBwdDataKernelArgsSpecialized& kargs)
{
// enable batched grouped gemm

View File

@@ -14,6 +14,10 @@
#include "ck_tile/ops/grouped_convolution/utils/transform_conv_bwd_weight_to_gemm.hpp"
#include "ck_tile/ops/grouped_convolution/utils/grouped_convolution_utils.hpp"
#ifdef CK_EXPERIMENTAL_BUILDER
#include "ck_tile/builder/reflect/instance_traits_tile_grouped_convolution_backward_weight.hpp"
#endif
namespace ck_tile {
/// @brief The Grouped Convolution kernel device arguments.
@@ -430,6 +434,19 @@ struct GroupedConvolutionBackwardWeightKernel
// clang-format on
}
#ifdef CK_EXPERIMENTAL_BUILDER
CK_TILE_HOST std::string GetInstanceString() const
{
static_assert(ck_tile::reflect::HasInstanceTraits<GroupedConvolutionBackwardWeightKernel>,
"Specialization of instance_traits not found. Please check that a "
"specialization exists in file "
"ck_tile/builder/reflect/"
"instance_traits_tile_grouped_convolution_backward_weight.hpp "
"for the given template parameters.");
return ck_tile::reflect::instance_string<GroupedConvolutionBackwardWeightKernel>();
}
#endif
CK_TILE_HOST static constexpr auto
GridSize(const GroupedConvBwdWeightKernelArgsSpecialized& kargs)
{