Argument Struct Reference

Argument Struct Reference#

Composable Kernel: ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument Struct Reference
ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument Struct Reference

#include <device_grouped_conv_bwd_weight_explicit_xdl.hpp>

Inheritance diagram for ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument:
ck::tensor_operation::device::BaseArgument

Public Types

using GemmArgument = typename DeviceGemmV3Op::Argument

Public Member Functions

 Argument (const InDataType *p_in_grid, WeiDataType *p_wei_grid, const OutDataType *p_out_grid, const std::array< index_t, NDimSpatial+3 > &, const std::array< index_t, NDimSpatial+3 > &b_g_n_c_wis_strides, const std::array< index_t, NDimSpatial+3 > &e_g_k_c_xs_lengths, const std::array< index_t, NDimSpatial+3 > &e_g_k_c_xs_strides, const std::array< index_t, NDimSpatial+3 > &a_g_n_k_wos_lengths, const std::array< index_t, NDimSpatial+3 > &a_g_n_k_wos_strides, const std::array< ck::index_t, NDimSpatial > &conv_filter_strides, const std::array< ck::index_t, NDimSpatial > &, const std::array< ck::index_t, NDimSpatial > &input_left_pads, const std::array< ck::index_t, NDimSpatial > &input_right_pads, InElementwiseOperation in_element_op, WeiElementwiseOperation wei_element_op, OutElementwiseOperation out_element_op, ck::index_t split_k)
std::size_t GetWorkspaceETensorSizeBytes () const
std::size_t GetWorkspaceSizeBytes () const
Public Member Functions inherited from ck::tensor_operation::device::BaseArgument
 BaseArgument ()=default
 BaseArgument (const BaseArgument &)=default
BaseArgumentoperator= (const BaseArgument &)=default
virtual ~BaseArgument ()

Public Attributes

GemmArgument explicit_gemm_args
std::array< ck::index_t, NDimSpatial > filter_spatial_lengths_
const std::array< ck::index_t, NDimSpatial > & conv_filter_strides_
const std::array< ck::index_t, NDimSpatial > & input_left_pads_
const std::array< ck::index_t, NDimSpatial > & input_right_pads_
WeiDataType * p_wei_grid_
bool is_filter_data_packed
CElementwiseGridDesc elementwise_desc_
Block2TileMapElementwise elementwise_block_2_ctile_map_
ck::index_t split_k_
Public Attributes inherited from ck::tensor_operation::device::BaseArgument
void * p_workspace_ = nullptr

Member Typedef Documentation

◆ GemmArgument

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
using ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::GemmArgument = typename DeviceGemmV3Op::Argument

Constructor & Destructor Documentation

◆ Argument()

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::Argument ( const InDataType * p_in_grid,
WeiDataType * p_wei_grid,
const OutDataType * p_out_grid,
const std::array< index_t, NDimSpatial+3 > & ,
const std::array< index_t, NDimSpatial+3 > & b_g_n_c_wis_strides,
const std::array< index_t, NDimSpatial+3 > & e_g_k_c_xs_lengths,
const std::array< index_t, NDimSpatial+3 > & e_g_k_c_xs_strides,
const std::array< index_t, NDimSpatial+3 > & a_g_n_k_wos_lengths,
const std::array< index_t, NDimSpatial+3 > & a_g_n_k_wos_strides,
const std::array< ck::index_t, NDimSpatial > & conv_filter_strides,
const std::array< ck::index_t, NDimSpatial > & ,
const std::array< ck::index_t, NDimSpatial > & input_left_pads,
const std::array< ck::index_t, NDimSpatial > & input_right_pads,
InElementwiseOperation in_element_op,
WeiElementwiseOperation wei_element_op,
OutElementwiseOperation out_element_op,
ck::index_t split_k )
inline

Member Function Documentation

◆ GetWorkspaceETensorSizeBytes()

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
std::size_t ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::GetWorkspaceETensorSizeBytes ( ) const
inline

◆ GetWorkspaceSizeBytes()

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
std::size_t ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::GetWorkspaceSizeBytes ( ) const
inline

Member Data Documentation

◆ conv_filter_strides_

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
const std::array<ck::index_t, NDimSpatial>& ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::conv_filter_strides_

◆ elementwise_block_2_ctile_map_

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
Block2TileMapElementwise ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::elementwise_block_2_ctile_map_

◆ elementwise_desc_

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
CElementwiseGridDesc ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::elementwise_desc_

◆ explicit_gemm_args

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
GemmArgument ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::explicit_gemm_args

◆ filter_spatial_lengths_

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
std::array<ck::index_t, NDimSpatial> ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::filter_spatial_lengths_

◆ input_left_pads_

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
const std::array<ck::index_t, NDimSpatial>& ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::input_left_pads_

◆ input_right_pads_

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
const std::array<ck::index_t, NDimSpatial>& ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::input_right_pads_

◆ is_filter_data_packed

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
bool ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::is_filter_data_packed

◆ p_wei_grid_

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
WeiDataType* ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::p_wei_grid_

◆ split_k_

template<ck::index_t NDimSpatial, typename InLayout, typename WeiLayout, typename OutLayout, typename InDataType, typename WeiDataType, typename OutDataType, typename InElementwiseOperation, typename WeiElementwiseOperation, typename OutElementwiseOperation, typename DeviceGemmV3Op>
ck::index_t ck::tensor_operation::device::DeviceGroupedConvBwdWeight_Explicit_Xdl< NDimSpatial, InLayout, WeiLayout, OutLayout, InDataType, WeiDataType, OutDataType, InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation, DeviceGemmV3Op >::Argument::split_k_

The documentation for this struct was generated from the following file: