GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ > Struct Template Reference#
Classes |
Public Types |
Public Member Functions |
Public Attributes |
Static Public Attributes |
List of all members
ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ > Struct Template Reference
The Grouped Convolution kernel device arguments. More...
#include <grouped_convolution_forward_kernel.hpp>
Classes | |
| struct | SplitImageInfo |
Public Types | |
| using | ConvToGemmFwdTransformer |
| using | CDElementwise = CDElementwise_ |
| using | AGridDescMK |
| using | BGridDescNK |
| using | CGridDescMN |
| using | ConvToGemmFwdTransformer_t = ConvToGemmFwdTransformer |
| using | AGridDescMK_t = AGridDescMK |
| using | CGridDescMN_t = CGridDescMN |
Public Member Functions | |
| template<typename InLay = typename GroupedConvTraitsType_::InLayout, typename WeiLay = typename GroupedConvTraitsType_::WeiLayout, typename OutLay = typename GroupedConvTraitsType_::OutLayout, typename std::enable_if< std::is_same_v< InLay, tensor_layout::convolution::NWGC > &&std::is_same_v< WeiLay, tensor_layout::convolution::GKXC > &&std::is_same_v< OutLay, tensor_layout::convolution::NWGK >, bool >::type = false> | |
| CK_TILE_HOST | GroupedConvFwdKernelArgs (const GroupedConvFwdHostArgs< CDElementwise > &args) |
| template<typename InLay = typename GroupedConvTraitsType_::InLayout, typename WeiLay = typename GroupedConvTraitsType_::WeiLayout, typename OutLay = typename GroupedConvTraitsType_::OutLayout, typename std::enable_if< std::is_same_v< InLay, tensor_layout::convolution::NHWGC > &&std::is_same_v< WeiLay, tensor_layout::convolution::GKYXC > &&std::is_same_v< OutLay, tensor_layout::convolution::NHWGK >, bool >::type = false> | |
| CK_TILE_HOST | GroupedConvFwdKernelArgs (const GroupedConvFwdHostArgs< CDElementwise > &args) |
| template<typename InLay = typename GroupedConvTraitsType_::InLayout, typename WeiLay = typename GroupedConvTraitsType_::WeiLayout, typename OutLay = typename GroupedConvTraitsType_::OutLayout, typename std::enable_if< std::is_same_v< InLay, tensor_layout::convolution::NDHWGC > &&std::is_same_v< WeiLay, tensor_layout::convolution::GKZYXC > &&std::is_same_v< OutLay, tensor_layout::convolution::NDHWGK >, bool >::type = false> | |
| CK_TILE_HOST | GroupedConvFwdKernelArgs (const GroupedConvFwdHostArgs< CDElementwise > &args) |
Static Public Attributes | |
| static constexpr index_t | NumDTensor = GroupedConvTraitsType_::NumDTensor |
| static constexpr index_t | NonSpatialDims = 3 |
Detailed Description
template<typename GroupedConvTraitsType_, typename CDElementwise_>
struct ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >
struct ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >
The Grouped Convolution kernel device arguments.
Member Typedef Documentation
◆ AGridDescMK
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| using ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::AGridDescMK |
Initial value:
decltype(ConvToGemmFwdTransformer{}
.template MakeADescriptor_M_K<typename GroupedConvTraitsType_::InLayout>())>
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition type_traits.hpp:21
TransformConvFwdToGemm< GroupedConvTraitsType_::NDimSpatial, GroupedConvTraitsType_::ConvSpecialization, GroupedConvTraitsType_::VectorSizeA, GroupedConvTraitsType_::VectorSizeB, GroupedConvTraitsType_::VectorSizeC, GroupedConvTraitsType_::NumGroupsToMerge, true > ConvToGemmFwdTransformer
Definition grouped_convolution_forward_kernel.hpp:26
◆ AGridDescMK_t
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| using ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::AGridDescMK_t = AGridDescMK |
◆ BGridDescNK
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| using ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::BGridDescNK |
Initial value:
decltype(ConvToGemmFwdTransformer{}
.template MakeBDescriptor_N_K<typename GroupedConvTraitsType_::WeiLayout>())>
◆ CDElementwise
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| using ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::CDElementwise = CDElementwise_ |
◆ CGridDescMN
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| using ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::CGridDescMN |
Initial value:
decltype(ConvToGemmFwdTransformer{}
.template MakeCDescriptor_M_N<typename GroupedConvTraitsType_::OutLayout>())>
◆ CGridDescMN_t
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| using ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::CGridDescMN_t = CGridDescMN |
◆ ConvToGemmFwdTransformer
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| using ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::ConvToGemmFwdTransformer |
Initial value:
TransformConvFwdToGemm<GroupedConvTraitsType_::NDimSpatial,
GroupedConvTraitsType_::ConvSpecialization,
GroupedConvTraitsType_::VectorSizeA,
GroupedConvTraitsType_::VectorSizeB,
GroupedConvTraitsType_::VectorSizeC,
GroupedConvTraitsType_::NumGroupsToMerge,
true>
Definition tensor_operation/operator_transform/transform_conv_fwd_to_gemm.hpp:25
◆ ConvToGemmFwdTransformer_t
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| using ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::ConvToGemmFwdTransformer_t = ConvToGemmFwdTransformer |
Constructor & Destructor Documentation
◆ GroupedConvFwdKernelArgs() [1/3]
template<typename GroupedConvTraitsType_, typename CDElementwise_>
template<typename InLay = typename GroupedConvTraitsType_::InLayout, typename WeiLay = typename GroupedConvTraitsType_::WeiLayout, typename OutLay = typename GroupedConvTraitsType_::OutLayout, typename std::enable_if< std::is_same_v< InLay, tensor_layout::convolution::NWGC > &&std::is_same_v< WeiLay, tensor_layout::convolution::GKXC > &&std::is_same_v< OutLay, tensor_layout::convolution::NWGK >, bool >::type = false>
|
inline |
◆ GroupedConvFwdKernelArgs() [2/3]
template<typename GroupedConvTraitsType_, typename CDElementwise_>
template<typename InLay = typename GroupedConvTraitsType_::InLayout, typename WeiLay = typename GroupedConvTraitsType_::WeiLayout, typename OutLay = typename GroupedConvTraitsType_::OutLayout, typename std::enable_if< std::is_same_v< InLay, tensor_layout::convolution::NHWGC > &&std::is_same_v< WeiLay, tensor_layout::convolution::GKYXC > &&std::is_same_v< OutLay, tensor_layout::convolution::NHWGK >, bool >::type = false>
|
inline |
◆ GroupedConvFwdKernelArgs() [3/3]
template<typename GroupedConvTraitsType_, typename CDElementwise_>
template<typename InLay = typename GroupedConvTraitsType_::InLayout, typename WeiLay = typename GroupedConvTraitsType_::WeiLayout, typename OutLay = typename GroupedConvTraitsType_::OutLayout, typename std::enable_if< std::is_same_v< InLay, tensor_layout::convolution::NDHWGC > &&std::is_same_v< WeiLay, tensor_layout::convolution::GKZYXC > &&std::is_same_v< OutLay, tensor_layout::convolution::NDHWGK >, bool >::type = false>
|
inline |
Member Data Documentation
◆ a_grid_desc_m_k
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| AGridDescMK ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::a_grid_desc_m_k |
◆ b_grid_desc_n_k
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| BGridDescNK ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::b_grid_desc_n_k |
◆ c_grid_desc_m_n
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| CGridDescMN ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::c_grid_desc_m_n |
◆ conv_filter_dilations
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| array<index_t, GroupedConvTraitsType_::NDimSpatial> ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::conv_filter_dilations |
◆ conv_filter_strides
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| array<index_t, GroupedConvTraitsType_::NDimSpatial> ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::conv_filter_strides |
◆ ds_ptr
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| std::array<const void*, NumDTensor> ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::ds_ptr |
◆ elfunc
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| const CDElementwise ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::elfunc |
◆ GemmBatch
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::GemmBatch |
◆ GemmK
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::GemmK |
◆ GemmM
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::GemmM |
◆ GemmN
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::GemmN |
◆ group_stride_a
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| long_index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::group_stride_a |
◆ group_stride_b
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| long_index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::group_stride_b |
◆ group_stride_c
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| long_index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::group_stride_c |
◆ in_g_n_c_wis_lengths
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| array<index_t, NonSpatialDims + GroupedConvTraitsType_::NDimSpatial> ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::in_g_n_c_wis_lengths |
◆ in_ptr
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| const void* ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::in_ptr |
◆ input_batch_stride
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::input_batch_stride = 0 |
◆ input_left_pads
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| array<index_t, GroupedConvTraitsType_::NDimSpatial> ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::input_left_pads |
◆ input_right_pads
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| array<index_t, GroupedConvTraitsType_::NDimSpatial> ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::input_right_pads |
◆ k_batch
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::k_batch |
◆ n_per_split
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::n_per_split = 1 |
◆ n_splits
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::n_splits = 1 |
◆ NonSpatialDims
template<typename GroupedConvTraitsType_, typename CDElementwise_>
|
staticconstexpr |
◆ num_spatial_pieces
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::num_spatial_pieces = 1 |
◆ NumDTensor
template<typename GroupedConvTraitsType_, typename CDElementwise_>
|
staticconstexpr |
◆ original_n
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::original_n = 1 |
◆ out_g_n_k_wos_lengths
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| array<index_t, NonSpatialDims + GroupedConvTraitsType_::NDimSpatial> ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::out_g_n_k_wos_lengths |
◆ out_ptr
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| void* ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::out_ptr |
◆ output_batch_stride
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::output_batch_stride = 0 |
◆ spatial_offset_in
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| long_index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::spatial_offset_in = 0 |
◆ spatial_offset_out
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| long_index_t ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::spatial_offset_out = 0 |
◆ split_image
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| SplitImageInfo ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::split_image |
◆ transformer_
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| ConvToGemmFwdTransformer ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::transformer_ |
◆ wei_g_k_c_xs_lengths
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| array<index_t, NonSpatialDims + GroupedConvTraitsType_::NDimSpatial> ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::wei_g_k_c_xs_lengths |
◆ wei_ptr
template<typename GroupedConvTraitsType_, typename CDElementwise_>
| const void* ck_tile::GroupedConvFwdKernelArgs< GroupedConvTraitsType_, CDElementwise_ >::wei_ptr |
The documentation for this struct was generated from the following file: