DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize > Struct Template Reference#
Classes |
Public Types |
Public Member Functions |
Static Public Member Functions |
Static Public Attributes |
List of all members
ck::tensor_operation::device::DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize > Struct Template Reference
#include <device_max_pool_bwd_impl.hpp>
Inheritance diagram for ck::tensor_operation::device::DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize >:
Classes | |
| struct | Argument |
| struct | Invoker |
Public Types | |
| using | DInDataType_AutomicAddPreCast |
| using | PassThrough = ck::tensor_operation::element_wise::PassThrough |
| using | UnaryConvert = ck::tensor_operation::element_wise::UnaryConvert |
| using | InOutGrid1dDesc = decltype(MakeDescriptor_M(1, 1)) |
| using | InOutGrid2dDesc = decltype(ExpendDescFirstDim(InOutGrid1dDesc{})) |
| using | GridwisePutElementSet |
| using | GridwisePutElementAtomicAdd |
| using | Block2TileMap = BlockToCTileMap_M00_N0_M01Adapt<MPerBlock, NPerBlock> |
| using | GridwiseCasting |
Public Member Functions | |
| size_t | GetWorkSpaceSize (const BaseArgument *pArg) const override |
| bool | IsSupportedArgument (const BaseArgument *p_arg) override |
| std::unique_ptr< BaseArgument > | MakeArgumentPointer (const void *p_dout, const void *p_indices, void *p_din, index_t dout_length, index_t din_length, std::vector< ck::index_t > window_lengths, std::vector< ck::index_t > window_strides, std::vector< ck::index_t > window_dilations) override |
| std::unique_ptr< BaseInvoker > | MakeInvokerPointer () 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 | GetTypeString () const |
| 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 void | SetWorkSpacePointer (BaseArgument *p_arg, void *p_workspace, const StreamConfig &=StreamConfig{}) const |
| virtual | ~BaseOperator () |
Static Public Member Functions | |
| template<typename Desc_M> | |
| static auto | PadDescriptor_M_1d (Desc_M &desc_m, index_t loop_step) |
| static auto | MakeDescriptor_M (index_t length, index_t loop_step) |
| template<typename Desc_M> | |
| static auto | ExpendDescFirstDim (Desc_M desc_m) |
Static Public Attributes | |
| static constexpr auto | I0 = Number<0>{} |
| static constexpr auto | I1 = Number<1>{} |
| static constexpr index_t | BlockSize = 256 |
| static constexpr index_t | MPerThread = 1 |
| static constexpr index_t | NPerThread = InOutVectorSize |
| static constexpr index_t | MPerBlock = 1 |
| static constexpr index_t | NPerBlock = BlockSize * NPerThread |
Member Typedef Documentation
◆ Block2TileMap
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
| using ck::tensor_operation::device::DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize >::Block2TileMap = BlockToCTileMap_M00_N0_M01Adapt<MPerBlock, NPerBlock> |
◆ DInDataType_AutomicAddPreCast
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
| using ck::tensor_operation::device::DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize >::DInDataType_AutomicAddPreCast |
Initial value:
DInDataType,
float>
typename conditional< predicate, X, Y >::type conditional_t
Definition utility/functional.hpp:115
◆ GridwiseCasting
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
| using ck::tensor_operation::device::DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize >::GridwiseCasting |
Initial value:
I1,
I1>
Definition gridwise_elementwise_2d.hpp:278
Definition utility/sequence.hpp:43
Definition utility/tuple.hpp:117
static constexpr auto I1
Definition device_max_pool_bwd_impl.hpp:42
ck::tensor_operation::element_wise::UnaryConvert UnaryConvert
Definition device_max_pool_bwd_impl.hpp:39
static constexpr index_t NPerThread
Definition device_max_pool_bwd_impl.hpp:94
static constexpr index_t MPerThread
Definition device_max_pool_bwd_impl.hpp:93
static constexpr index_t BlockSize
Definition device_max_pool_bwd_impl.hpp:92
BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock > Block2TileMap
Definition device_max_pool_bwd_impl.hpp:98
static constexpr index_t NPerBlock
Definition device_max_pool_bwd_impl.hpp:96
static constexpr index_t MPerBlock
Definition device_max_pool_bwd_impl.hpp:95
◆ GridwisePutElementAtomicAdd
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
| using ck::tensor_operation::device::DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize >::GridwisePutElementAtomicAdd |
Initial value:
DOutDataType,
IndexDataType,
InOutVectorSize>
Definition gridwise_put_element_1d.hpp:36
decltype(MakeDescriptor_M(1, 1)) InOutGrid1dDesc
Definition device_max_pool_bwd_impl.hpp:73
ck::tensor_operation::element_wise::PassThrough PassThrough
Definition device_max_pool_bwd_impl.hpp:38
conditional_t< is_same_v< DInDataType, float >||is_same_v< DInDataType, double >, DInDataType, float > DInDataType_AutomicAddPreCast
Definition device_max_pool_bwd_impl.hpp:33
◆ GridwisePutElementSet
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
| using ck::tensor_operation::device::DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize >::GridwisePutElementSet |
Initial value:
DOutDataType,
IndexDataType,
DInDataType,
InOutVectorSize>
◆ InOutGrid1dDesc
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
| using ck::tensor_operation::device::DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize >::InOutGrid1dDesc = decltype(MakeDescriptor_M(1, 1)) |
◆ InOutGrid2dDesc
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
| using ck::tensor_operation::device::DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize >::InOutGrid2dDesc = decltype(ExpendDescFirstDim(InOutGrid1dDesc{})) |
◆ PassThrough
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
| using ck::tensor_operation::device::DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize >::PassThrough = ck::tensor_operation::element_wise::PassThrough |
◆ UnaryConvert
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
| using ck::tensor_operation::device::DeviceMaxPoolBwdImpl< DOutDataType, IndexDataType, DInDataType, InOutVectorSize >::UnaryConvert = ck::tensor_operation::element_wise::UnaryConvert |
Member Function Documentation
◆ ExpendDescFirstDim()
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
template<typename Desc_M>
|
inlinestatic |
◆ GetWorkSpaceSize()
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
inlineoverridevirtual |
Reimplemented from ck::tensor_operation::device::BaseOperator.
◆ IsSupportedArgument()
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
inlineoverridevirtual |
Reimplemented from ck::tensor_operation::device::BaseOperator.
◆ MakeArgumentPointer()
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
inlineoverridevirtual |
◆ MakeDescriptor_M()
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
inlinestatic |
◆ MakeInvokerPointer()
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
inlineoverridevirtual |
◆ PadDescriptor_M_1d()
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
template<typename Desc_M>
|
inlinestatic |
Member Data Documentation
◆ BlockSize
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
staticconstexpr |
◆ I0
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
staticconstexpr |
◆ I1
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
staticconstexpr |
◆ MPerBlock
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
staticconstexpr |
◆ MPerThread
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
staticconstexpr |
◆ NPerBlock
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
staticconstexpr |
◆ NPerThread
template<typename DOutDataType, typename IndexDataType, typename DInDataType, ck::index_t InOutVectorSize>
|
staticconstexpr |
The documentation for this struct was generated from the following file: