GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise > Struct Template Reference

GroupedConvHostArgs&lt; InPtr, WeiPtr, OutPtr, CDElementwise &gt; Struct Template Reference#

Composable Kernel: ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise > Struct Template Reference
ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise > Struct Template Reference

The Grouped Conv kernel host arguments. More...

#include <grouped_convolution_utils.hpp>

Inheritance diagram for ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise >:
ck_tile::conv::ConvParam

Public Member Functions

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{})
Public Member Functions inherited from ck_tile::conv::ConvParam
 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)
 ConvParam (ck_tile::long_index_t n_dim, ck_tile::long_index_t group_count, ck_tile::long_index_t n_batch, ck_tile::long_index_t n_out_channels, ck_tile::long_index_t n_in_channels, const std::vector< ck_tile::long_index_t > &filters_len, const std::vector< ck_tile::long_index_t > &input_len, const std::vector< ck_tile::long_index_t > &strides, const std::vector< ck_tile::long_index_t > &dilations, const std::vector< ck_tile::long_index_t > &left_pads, const std::vector< ck_tile::long_index_t > &right_pads)
std::vector< ck_tile::long_index_tGetOutputSpatialLengths () const
std::size_t GetFlops () const
template<typename InDataType>
std::size_t GetInputByte () const
template<typename WeiDataType>
std::size_t GetWeightByte () const
template<typename OutDataType>
std::size_t GetOutputByte () const
template<typename InDataType, typename WeiDataType, typename OutDataType>
std::size_t GetByte () const

Public Attributes

InPtr in_ptr
WeiPtr wei_ptr
const std::vector< const void * > ds_ptr
OutPtr out_ptr
index_t k_batch
const CDElementwise elfunc
Public Attributes inherited from ck_tile::conv::ConvParam
ck_tile::long_index_t num_dim_spatial_
ck_tile::long_index_t G_
ck_tile::long_index_t N_
ck_tile::long_index_t K_
ck_tile::long_index_t C_
std::vector< ck_tile::long_index_tfilter_spatial_lengths_
std::vector< ck_tile::long_index_tinput_spatial_lengths_
std::vector< ck_tile::long_index_toutput_spatial_lengths_
std::vector< ck_tile::long_index_tconv_filter_strides_
std::vector< ck_tile::long_index_tconv_filter_dilations_
std::vector< ck_tile::long_index_tinput_left_pads_
std::vector< ck_tile::long_index_tinput_right_pads_

Detailed Description

template<typename InPtr, typename WeiPtr, typename OutPtr, typename CDElementwise>
struct ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise >

The Grouped Conv kernel host arguments.

Overview
This structure is passed to Grouped Convolution Kernels when creating kernel arguments object. It contain all necessary information required to build proper kernel argument and launch kernel on GPU.

Constructor & Destructor Documentation

◆ GroupedConvHostArgs() [1/2]

template<typename InPtr, typename WeiPtr, typename OutPtr, typename CDElementwise>
CK_TILE_HOST ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise >::GroupedConvHostArgs ( )
delete

◆ GroupedConvHostArgs() [2/2]

template<typename InPtr, typename WeiPtr, typename OutPtr, typename CDElementwise>
CK_TILE_HOST ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise >::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{} )
inline

Member Data Documentation

◆ ds_ptr

template<typename InPtr, typename WeiPtr, typename OutPtr, typename CDElementwise>
const std::vector<const void*> ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise >::ds_ptr

◆ elfunc

template<typename InPtr, typename WeiPtr, typename OutPtr, typename CDElementwise>
const CDElementwise ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise >::elfunc

◆ in_ptr

template<typename InPtr, typename WeiPtr, typename OutPtr, typename CDElementwise>
InPtr ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise >::in_ptr

◆ k_batch

template<typename InPtr, typename WeiPtr, typename OutPtr, typename CDElementwise>
index_t ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise >::k_batch

◆ out_ptr

template<typename InPtr, typename WeiPtr, typename OutPtr, typename CDElementwise>
OutPtr ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise >::out_ptr

◆ wei_ptr

template<typename InPtr, typename WeiPtr, typename OutPtr, typename CDElementwise>
WeiPtr ck_tile::GroupedConvHostArgs< InPtr, WeiPtr, OutPtr, CDElementwise >::wei_ptr

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