/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/grouped_convolution/utils/grouped_convolution_utils.hpp Source File#
grouped_convolution_utils.hpp
Go to the documentation of this file.
57 using GroupedConvFwdHostArgs = GroupedConvHostArgs<const void*, const void*, void*, CDElementwise>;
Definition: cluster_descriptor.hpp:13
@ BACKWARD_WEIGHT
@ BACKWARD_DATA
ConvolutionSpecialization
Definition: convolution_specialization.hpp:11
ck_tile::element_wise::PassThrough PassThrough
Definition: grouped_convolution_utils.hpp:54
CK_TILE_HOST SplitImagePieceInfo calculate_spatial_piece(ck_tile::index_t piece_idx, ck_tile::index_t num_d_pieces, ck_tile::index_t num_h_pieces, ck_tile::index_t num_w_pieces, ck_tile::index_t base_piece_d, ck_tile::index_t base_piece_h, ck_tile::index_t base_piece_w, ck_tile::index_t total_d, ck_tile::index_t total_h, ck_tile::index_t total_w, ck_tile::index_t N, ck_tile::index_t K, ck_tile::index_t total_blocks)
Calculate piece information for split-image convolution.
Definition: grouped_convolution_utils.hpp:216
constexpr CK_TILE_HOST_DEVICE auto generate_tuple(F &&f, number< N >)
Definition: tuple.hpp:429
The Grouped Conv kernel host arguments.
Definition: grouped_convolution_utils.hpp:27
const std::vector< const void * > ds_ptr
Definition: grouped_convolution_utils.hpp:48
const CDElementwise elfunc
Definition: grouped_convolution_utils.hpp:51
CK_TILE_HOST GroupedConvHostArgs()=delete
CK_TILE_HOST GroupedConvHostArgs(ConvParam conv_param, InPtr in_ptr_, WeiPtr wei_ptr_, const std::vector< const void * > ds_ptr_, OutPtr out_ptr_, index_t k_batch_, CDElementwise elfunc_=CDElementwise{})
Definition: grouped_convolution_utils.hpp:29
Definition: grouped_convolution_utils.hpp:87
static constexpr bool Persistent
Definition: grouped_convolution_utils.hpp:96
static constexpr bool UseStructuredSparsity
Definition: grouped_convolution_utils.hpp:95
static constexpr bool kPadM
Definition: grouped_convolution_utils.hpp:90
static constexpr ck_tile::index_t TilePartitionerGroupNum
Definition: grouped_convolution_utils.hpp:88
static constexpr bool kPadK
Definition: grouped_convolution_utils.hpp:92
static constexpr bool kPadN
Definition: grouped_convolution_utils.hpp:91
static constexpr bool FixedVectorSize
Definition: grouped_convolution_utils.hpp:94
static constexpr bool TransposeC
Definition: grouped_convolution_utils.hpp:93
static constexpr ck_tile::index_t TilePartitionerM01
Definition: grouped_convolution_utils.hpp:89
Definition: grouped_convolution_utils.hpp:125
Definition: grouped_convolution_utils.hpp:76
ck_tile::tensor_layout::gemm::RowMajor AsLayoutFwd
Definition: grouped_convolution_utils.hpp:111
OutLayout_ OutLayout
Definition: grouped_convolution_utils.hpp:108
ck_tile::tensor_layout::gemm::ColumnMajor BsLayoutFwd
Definition: grouped_convolution_utils.hpp:112
static constexpr ck_tile::index_t NumDTensor
Definition: grouped_convolution_utils.hpp:175
static constexpr ck_tile::index_t VectorSizeC
Definition: grouped_convolution_utils.hpp:174
WeiLayout_ WeiLayout
Definition: grouped_convolution_utils.hpp:106
static constexpr index_t NDimSpatial
Definition: grouped_convolution_utils.hpp:103
ck_tile::tensor_layout::gemm::RowMajor CLayoutFwd
Definition: grouped_convolution_utils.hpp:113
static constexpr index_t NumGroupsToMerge
Definition: grouped_convolution_utils.hpp:100
ck_tile::tensor_layout::gemm::RowMajor BsLayoutBwdData
Definition: grouped_convolution_utils.hpp:116
ck_tile::tensor_layout::gemm::RowMajor AsLayoutBwdData
Definition: grouped_convolution_utils.hpp:115
static constexpr ck_tile::index_t VectorSizeB
Definition: grouped_convolution_utils.hpp:173
static constexpr bool EnableSplitImage
Definition: grouped_convolution_utils.hpp:101
ck_tile::tensor_layout::gemm::RowMajor CLayoutBwdData
Definition: grouped_convolution_utils.hpp:117
decltype(generate_implicit_gemm_layout()) ImplicitGemmDsLayout
Definition: grouped_convolution_utils.hpp:176
static constexpr ConvolutionSpecialization ConvSpecialization
Definition: grouped_convolution_utils.hpp:104
static constexpr ck_tile::index_t VectorSizeA
Definition: grouped_convolution_utils.hpp:172
ck_tile::tensor_layout::gemm::RowMajor BsLayoutBwdWeight
Definition: grouped_convolution_utils.hpp:120
ck_tile::tensor_layout::gemm::RowMajor CLayoutBwdWeight
Definition: grouped_convolution_utils.hpp:121
static constexpr bool ExplicitGemm
Definition: grouped_convolution_utils.hpp:102
ck_tile::tensor_layout::gemm::ColumnMajor AsLayoutBwdWeight
Definition: grouped_convolution_utils.hpp:119
Helper struct for split-image piece information.
Definition: grouped_convolution_utils.hpp:185
ck_tile::index_t block_end
GPU block range for this piece.
Definition: grouped_convolution_utils.hpp:186
ck_tile::index_t d_size
Definition: grouped_convolution_utils.hpp:188
ck_tile::index_t d_start
Definition: grouped_convolution_utils.hpp:187
ck_tile::index_t w_start
Spatial start coordinates (output space)
Definition: grouped_convolution_utils.hpp:187
ck_tile::index_t h_size
Definition: grouped_convolution_utils.hpp:188
ck_tile::index_t h_start
Definition: grouped_convolution_utils.hpp:187
ck_tile::index_t w_size
Spatial dimensions of this piece.
Definition: grouped_convolution_utils.hpp:188
ck_tile::index_t block_start
Definition: grouped_convolution_utils.hpp:186
Definition: tile_gemm_traits.hpp:18
Definition: integral_constant.hpp:13
Definition: convolution_parameter.hpp:15
ConvParam(ck_tile::index_t n_dim, ck_tile::index_t group_count, ck_tile::index_t n_batch, ck_tile::index_t n_out_channels, ck_tile::index_t n_in_channels, const std::vector< ck_tile::index_t > &filters_len, const std::vector< ck_tile::index_t > &input_len, const std::vector< ck_tile::index_t > &strides, const std::vector< ck_tile::index_t > &dilations, const std::vector< ck_tile::index_t > &left_pads, const std::vector< ck_tile::index_t > &right_pads)
Definition: convolution_parameter.hpp:16
Definition: unary_element_wise_operation.hpp:449
Definition: tensor_layout.hpp:22
Definition: tensor_layout.hpp:17