DevicePool2dFwd_NHWC_NHWC< InDataType, OutDataType, IndexDataType, ComputeDataType, ReduceOpId, OutputIndex, 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::DevicePool2dFwd_NHWC_NHWC< InDataType, OutDataType, IndexDataType, ComputeDataType, ReduceOpId, OutputIndex, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize > Struct Template Reference
#include <device_pool2d_fwd_nhwc_nhwc.hpp>
Inheritance diagram for ck::tensor_operation::device::DevicePool2dFwd_NHWC_NHWC< InDataType, OutDataType, IndexDataType, ComputeDataType, ReduceOpId, OutputIndex, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >:
Classes | |
| struct | Argument |
| struct | Invoker |
Public Types | |
| using | ReduceOperation = typename reduce_binary_operator<ReduceOpId>::opType |
| using | InElementwiseOperation |
| using | AccElementwiseOperation |
| using | ABGridDescs |
| using | AGridDesc_M_K = remove_cvref_t<decltype(ABGridDescs{}[I0])> |
| using | BGridDesc_M = remove_cvref_t<decltype(ABGridDescs{}[I1])> |
Public Member Functions | |
| bool | IsSupportedArgument (const BaseArgument *p_arg) override |
| virtual std::unique_ptr< BaseArgument > | MakeArgumentPointer (const void *p_in_dev, void *p_out_dev, void *p_out_indices_dev, std::vector< ck::index_t > input_nchw_lengths, std::vector< ck::index_t > window_yx_lengths, std::vector< ck::index_t > output_nchw_lengths, std::vector< ck::index_t > input_nchw_stride, std::vector< ck::index_t > output_nchw_stride, std::vector< ck::index_t > indices_nchw_stride, std::vector< ck::index_t > window_yx_strides, std::vector< ck::index_t > window_yx_dilations, std::vector< ck::index_t > input_left_hw_pads, std::vector< ck::index_t > input_right_hw_pads, std::vector< ck::index_t > pooling_dims) 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 | MakeABGridDescriptor_A_M_K_B_M (std::vector< ck::index_t > input_nchw_lengths, std::vector< ck::index_t > output_nchw_lengths, std::vector< ck::index_t > input_nchw_stride, std::vector< ck::index_t > output_nchw_stride, std::vector< ck::index_t > window_spatial_yx_lengths, std::vector< ck::index_t > window_yx_strides, std::vector< ck::index_t > window_yx_dilations, std::vector< ck::index_t > input_left_hw_pads, std::vector< ck::index_t > input_right_hw_pads) |
Static Public Attributes | |
| static constexpr auto | I0 = Number<0>{} |
| static constexpr auto | I1 = Number<1>{} |
| static constexpr index_t | InOutRank = 4 |
| static constexpr index_t | WindowRank = 2 |
| static constexpr ck::index_t | M_BlockTileSize = MThreadClusterSize * MThreadSliceSize |
| static constexpr ck::index_t | K_BlockTileSize = KThreadClusterSize * KThreadSliceSize |
Member Typedef Documentation
◆ ABGridDescs
template<typename InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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::DevicePool2dFwd_NHWC_NHWC< InDataType, OutDataType, IndexDataType, ComputeDataType, ReduceOpId, OutputIndex, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::ABGridDescs |
Initial value:
decltype(MakeABGridDescriptor_A_M_K_B_M({}, {}, {}, {}, {}, {}, {}, {}, {}))
static auto MakeABGridDescriptor_A_M_K_B_M(std::vector< ck::index_t > input_nchw_lengths, std::vector< ck::index_t > output_nchw_lengths, std::vector< ck::index_t > input_nchw_stride, std::vector< ck::index_t > output_nchw_stride, std::vector< ck::index_t > window_spatial_yx_lengths, std::vector< ck::index_t > window_yx_strides, std::vector< ck::index_t > window_yx_dilations, std::vector< ck::index_t > input_left_hw_pads, std::vector< ck::index_t > input_right_hw_pads)
Definition device_pool2d_fwd_nhwc_nhwc.hpp:62
◆ AccElementwiseOperation
template<typename InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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::DevicePool2dFwd_NHWC_NHWC< InDataType, OutDataType, IndexDataType, ComputeDataType, ReduceOpId, OutputIndex, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::AccElementwiseOperation |
Initial value:
tensor_operation::element_wise::PassThrough AccElementwiseOperation
Definition reduction_operator_mapping.hpp:93
◆ AGridDesc_M_K
template<typename InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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::DevicePool2dFwd_NHWC_NHWC< InDataType, OutDataType, IndexDataType, ComputeDataType, ReduceOpId, OutputIndex, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::AGridDesc_M_K = remove_cvref_t<decltype(ABGridDescs{}[I0])> |
◆ BGridDesc_M
template<typename InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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::DevicePool2dFwd_NHWC_NHWC< InDataType, OutDataType, IndexDataType, ComputeDataType, ReduceOpId, OutputIndex, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::BGridDesc_M = remove_cvref_t<decltype(ABGridDescs{}[I1])> |
◆ InElementwiseOperation
template<typename InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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::DevicePool2dFwd_NHWC_NHWC< InDataType, OutDataType, IndexDataType, ComputeDataType, ReduceOpId, OutputIndex, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::InElementwiseOperation |
Initial value:
tensor_operation::element_wise::PassThrough InElementwiseOperation
Definition reduction_operator_mapping.hpp:92
◆ ReduceOperation
template<typename InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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::DevicePool2dFwd_NHWC_NHWC< InDataType, OutDataType, IndexDataType, ComputeDataType, ReduceOpId, OutputIndex, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, InSrcOutDstVectorSize >::ReduceOperation = typename reduce_binary_operator<ReduceOpId>::opType |
Member Function Documentation
◆ GetTypeString()
template<typename InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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()
template<typename InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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.
◆ MakeABGridDescriptor_A_M_K_B_M()
template<typename InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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 InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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 InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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 InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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 InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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 |
◆ InOutRank
template<typename InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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 InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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 InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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 |
◆ WindowRank
template<typename InDataType, typename OutDataType, typename IndexDataType, typename ComputeDataType, ck::ReduceTensorOp ReduceOpId, bool OutputIndex, 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: