DeviceAvgPool2dBwd_NHWC_NHWC< DOutDataType, DInDataType, ComputeDataType, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize > Struct Template Reference#
Classes |
Public Types |
Public Member Functions |
Static Public Member Functions |
Static Public Attributes |
List of all members
ck::tensor_operation::device::DeviceAvgPool2dBwd_NHWC_NHWC< DOutDataType, DInDataType, ComputeDataType, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize > Struct Template Reference
#include <device_avgpool2d_bwd_nhwc_nhwc.hpp>
Inheritance diagram for ck::tensor_operation::device::DeviceAvgPool2dBwd_NHWC_NHWC< DOutDataType, DInDataType, ComputeDataType, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >:
Classes | |
| struct | Argument |
| struct | Invoker |
Public Types | |
| using | DoutDinGridDesc |
| using | DoutGridDesc_M_K = remove_cvref_t<tuple_element_t<0, DoutDinGridDesc>> |
| using | DinGridDesc_M = remove_cvref_t<tuple_element_t<1, DoutDinGridDesc>> |
| using | PassThrough = tensor_operation::element_wise::PassThrough |
| using | Div = tensor_operation::element_wise::UnaryDivide |
| using | gridwise_reduce |
Public Member Functions | |
| bool | IsSupportedArgument (const BaseArgument *p_arg) override |
| std::unique_ptr< BaseArgument > | MakeArgumentPointer (const void *p_dout, void *p_din, std::vector< ck::index_t > dout_n_c_wos_lengths, std::vector< ck::index_t > din_n_c_wos_length, std::vector< ck::index_t > dout_n_c_wos_strides, std::vector< ck::index_t > din_n_c_wos_strides, std::vector< ck::index_t > window_lengths, std::vector< ck::index_t > window_strides, std::vector< ck::index_t > window_dilations, std::vector< ck::index_t > input_left_pads, std::vector< ck::index_t > input_right_pads) override |
| std::unique_ptr< BaseInvoker > | MakeInvokerPointer () override |
| std::string | GetTypeString () const override |
| Public Member Functions inherited from ck::tensor_operation::device::BaseOperator | |
| BaseOperator ()=default | |
| BaseOperator (const BaseOperator &)=default | |
| BaseOperator & | operator= (const BaseOperator &)=default |
| virtual std::string | GetInstanceString () const |
| virtual std::string | GetTypeIdName () const |
| virtual std::optional< std::string > | GetObjectName () const |
| virtual std::optional< std::string > | GetTemplateInfo () const |
| virtual std::string | GetTypeIdHashCode () const |
| virtual size_t | GetWorkSpaceSize (const BaseArgument *) const |
| virtual void | SetWorkSpacePointer (BaseArgument *p_arg, void *p_workspace, const StreamConfig &=StreamConfig{}) const |
| virtual | ~BaseOperator () |
Static Public Member Functions | |
| static auto | Make2DGridDescriptor_Out_M_K_In_M (const std::vector< ck::index_t > &dout_n_c_wos_lengths, const std::vector< ck::index_t > &din_n_c_wos_length, const std::vector< ck::index_t > &dout_n_c_wos_strides, const std::vector< ck::index_t > &din_n_c_wos_strides, const std::vector< ck::index_t > &window_lengths, const std::vector< ck::index_t > &window_strides, const std::vector< ck::index_t > &window_dilations, const std::vector< ck::index_t > &input_left_pads, const std::vector< ck::index_t > &input_right_pads, const std::vector< ck::index_t > &tildes) |
| static bool | IsSupportedArgument (const Argument &arg) |
Static Public Attributes | |
| static constexpr ck::index_t | NDimSpatial = 2 |
| static constexpr auto | I0 = Number<0>{} |
| static constexpr auto | I1 = Number<1>{} |
| static constexpr ck::index_t | M_BlockTileSize = MThreadClusterSize * MThreadSliceSize |
| static constexpr ck::index_t | K_BlockTileSize = KThreadClusterSize * KThreadSliceSize |
| static constexpr index_t | OutSrcInDstVectorDim = 0 |
Member Typedef Documentation
◆ DinGridDesc_M
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
| using ck::tensor_operation::device::DeviceAvgPool2dBwd_NHWC_NHWC< DOutDataType, DInDataType, ComputeDataType, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::DinGridDesc_M = remove_cvref_t<tuple_element_t<1, DoutDinGridDesc>> |
◆ Div
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
| using ck::tensor_operation::device::DeviceAvgPool2dBwd_NHWC_NHWC< DOutDataType, DInDataType, ComputeDataType, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::Div = tensor_operation::element_wise::UnaryDivide |
◆ DoutDinGridDesc
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
| using ck::tensor_operation::device::DeviceAvgPool2dBwd_NHWC_NHWC< DOutDataType, DInDataType, ComputeDataType, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::DoutDinGridDesc |
Initial value:
decltype(Make2DGridDescriptor_Out_M_K_In_M({0, 0, 0, 0},
{0, 0, 0, 0},
{0, 0, 0, 0},
{0, 0, 0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0}))
static auto Make2DGridDescriptor_Out_M_K_In_M(const std::vector< ck::index_t > &dout_n_c_wos_lengths, const std::vector< ck::index_t > &din_n_c_wos_length, const std::vector< ck::index_t > &dout_n_c_wos_strides, const std::vector< ck::index_t > &din_n_c_wos_strides, const std::vector< ck::index_t > &window_lengths, const std::vector< ck::index_t > &window_strides, const std::vector< ck::index_t > &window_dilations, const std::vector< ck::index_t > &input_left_pads, const std::vector< ck::index_t > &input_right_pads, const std::vector< ck::index_t > &tildes)
Definition device_avgpool2d_bwd_nhwc_nhwc.hpp:52
◆ DoutGridDesc_M_K
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
| using ck::tensor_operation::device::DeviceAvgPool2dBwd_NHWC_NHWC< DOutDataType, DInDataType, ComputeDataType, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::DoutGridDesc_M_K = remove_cvref_t<tuple_element_t<0, DoutDinGridDesc>> |
◆ gridwise_reduce
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
| using ck::tensor_operation::device::DeviceAvgPool2dBwd_NHWC_NHWC< DOutDataType, DInDataType, ComputeDataType, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::gridwise_reduce |
Initial value:
GridwiseReduction_mk_to_m_threadwise<DOutDataType,
DInDataType,
ComputeDataType,
int,
Div,
false,
BlockSize,
MThreadSliceSize,
KThreadSliceSize,
InSrcOutDstVectorSize,
InSrcOutDstVectorSize>
Definition gridwise_2d_reduction_threadwise.hpp:84
Definition reduction_operator.hpp:37
tensor_operation::element_wise::UnaryDivide Div
Definition device_avgpool2d_bwd_nhwc_nhwc.hpp:274
remove_cvref_t< tuple_element_t< 0, DoutDinGridDesc > > DoutGridDesc_M_K
Definition device_avgpool2d_bwd_nhwc_nhwc.hpp:265
remove_cvref_t< tuple_element_t< 1, DoutDinGridDesc > > DinGridDesc_M
Definition device_avgpool2d_bwd_nhwc_nhwc.hpp:266
tensor_operation::element_wise::PassThrough PassThrough
Definition device_avgpool2d_bwd_nhwc_nhwc.hpp:273
static constexpr index_t OutSrcInDstVectorDim
Definition device_avgpool2d_bwd_nhwc_nhwc.hpp:271
◆ PassThrough
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
| using ck::tensor_operation::device::DeviceAvgPool2dBwd_NHWC_NHWC< DOutDataType, DInDataType, ComputeDataType, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::PassThrough = tensor_operation::element_wise::PassThrough |
Member Function Documentation
◆ GetTypeString()
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
inlineoverridevirtual |
Reimplemented from ck::tensor_operation::device::BaseOperator.
◆ IsSupportedArgument() [1/2]
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
inlinestatic |
◆ IsSupportedArgument() [2/2]
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
inlineoverridevirtual |
Reimplemented from ck::tensor_operation::device::BaseOperator.
◆ Make2DGridDescriptor_Out_M_K_In_M()
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
inlinestatic |
◆ MakeArgumentPointer()
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
inlineoverridevirtual |
◆ MakeInvokerPointer()
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
inlineoverridevirtual |
Member Data Documentation
◆ I0
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
staticconstexpr |
◆ I1
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
staticconstexpr |
◆ K_BlockTileSize
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
staticconstexpr |
◆ M_BlockTileSize
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
staticconstexpr |
◆ NDimSpatial
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
staticconstexpr |
◆ OutSrcInDstVectorDim
template<typename DOutDataType, typename DInDataType, typename ComputeDataType, ck::index_t BlockSize, ck::index_t MThreadClusterSize, ck::index_t KThreadClusterSize, ck::index_t MThreadSliceSize, ck::index_t KThreadSliceSize, ck::index_t InSrcOutDstVectorSize>
|
staticconstexpr |
The documentation for this struct was generated from the following file: