DeviceElementwiseNormalizationImpl< InDataTypeTuple, GammaDataType, BetaDataType, AccDataType, YDataType, XElementwiseOperation, YElementwiseOperation, Rank, NumReduceDim, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, YDstVectorSize > Struct Template Reference#
Classes |
Public Types |
Public Member Functions |
Static Public Member Functions |
Static Public Attributes |
List of all members
ck::tensor_operation::device::DeviceElementwiseNormalizationImpl< InDataTypeTuple, GammaDataType, BetaDataType, AccDataType, YDataType, XElementwiseOperation, YElementwiseOperation, Rank, NumReduceDim, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, YDstVectorSize > Struct Template Reference
#include <device_elementwise_normalization_impl.hpp>
Inheritance diagram for ck::tensor_operation::device::DeviceElementwiseNormalizationImpl< InDataTypeTuple, GammaDataType, BetaDataType, AccDataType, YDataType, XElementwiseOperation, YElementwiseOperation, Rank, NumReduceDim, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, YDstVectorSize >:
Classes | |
| struct | Argument |
| struct | Invoker |
Public Types | |
| using | XDataType = YDataType |
| using | InDataTypePointerTuple = decltype(GenerateInDataTypePointerTuple()) |
| using | InGrid2dDescTuple = decltype(GenerateSrcGrid2dDescTuple(Number< NumInput >{})) |
| using | GridDesc_M_K = decltype(MakeSrc2dDescriptor({1}, {1}, 1, 1)) |
| using | GridwiseReduceLayernormGeneric = GridwiseElementwiseLayernormWelfordVariance_mk_to_mk< InDataTypePointerTuple, XDataType, GammaDataType, BetaDataType, YDataType, AccDataType, XElementwiseOperation, YElementwiseOperation, InGrid2dDescTuple, GridDesc_M_K, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, XYSrcVectorDim, YDstVectorSize, false > |
| using | GridwiseReduceLayernormSweepOnce = GridwiseElementwiseLayernormWelfordVariance_mk_to_mk< InDataTypePointerTuple, XDataType, GammaDataType, BetaDataType, YDataType, AccDataType, XElementwiseOperation, YElementwiseOperation, InGrid2dDescTuple, GridDesc_M_K, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, XYSrcVectorDim, YDstVectorSize, true > |
Public Member Functions | |
| bool | IsSupportedArgument (const BaseArgument *p_arg) override |
| std::unique_ptr< BaseArgument > | MakeArgumentPointer (const std::vector< index_t > lengths, const std::array< std::vector< index_t >, NumInput > inStridesArray, const std::vector< index_t > gammaStrides, const std::vector< index_t > betaStrides, const std::vector< index_t > yStrides, const std::vector< index_t > reduceDims, double epsilon, const std::array< const void *, NumInput > in_dev_buffers, const void *p_gamma, const void *p_beta, void *p_y, XElementwiseOperation x_elementwise_op, YElementwiseOperation y_elementwise_op) 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 | 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 | GenerateInDataTypePointerTuple () |
| static auto | MakeSrc2dDescriptor (const std::vector< index_t > &inLengths, const std::vector< index_t > &inStrides, int blkGroupSize, int numBlockTileIteration) |
| template<index_t TupleSize> | |
| static auto | GenerateSrcGrid2dDescTuple (Number< TupleSize >) |
Static Public Attributes | |
| static constexpr int | NumInput = InDataTypeTuple::Size() |
| static constexpr index_t | M_BlockTileSize |
| static constexpr index_t | K_BlockTileSize |
Static Public Attributes inherited from ck::tensor_operation::device::DeviceElementwiseNormalization< InDataTypeTuple, GammaDataType, BetaDataType, AccDataType, YDataType, XElementwiseOperation, YElementwiseOperation, Rank, NumReduceDim > | |
| static constexpr int | NumInput = InDataTypeTuple::Size() |
Member Typedef Documentation
◆ GridDesc_M_K
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
| using ck::tensor_operation::device::DeviceElementwiseNormalizationImpl< InDataTypeTuple, GammaDataType, BetaDataType, AccDataType, YDataType, XElementwiseOperation, YElementwiseOperation, Rank, NumReduceDim, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, YDstVectorSize >::GridDesc_M_K = decltype(MakeSrc2dDescriptor({1}, {1}, 1, 1)) |
◆ GridwiseReduceLayernormGeneric
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
| using ck::tensor_operation::device::DeviceElementwiseNormalizationImpl< InDataTypeTuple, GammaDataType, BetaDataType, AccDataType, YDataType, XElementwiseOperation, YElementwiseOperation, Rank, NumReduceDim, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, YDstVectorSize >::GridwiseReduceLayernormGeneric = GridwiseElementwiseLayernormWelfordVariance_mk_to_mk<InDataTypePointerTuple, XDataType, GammaDataType, BetaDataType, YDataType, AccDataType, XElementwiseOperation, YElementwiseOperation, InGrid2dDescTuple, GridDesc_M_K, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, XYSrcVectorDim, YDstVectorSize, false> |
◆ GridwiseReduceLayernormSweepOnce
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
| using ck::tensor_operation::device::DeviceElementwiseNormalizationImpl< InDataTypeTuple, GammaDataType, BetaDataType, AccDataType, YDataType, XElementwiseOperation, YElementwiseOperation, Rank, NumReduceDim, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, YDstVectorSize >::GridwiseReduceLayernormSweepOnce = GridwiseElementwiseLayernormWelfordVariance_mk_to_mk<InDataTypePointerTuple, XDataType, GammaDataType, BetaDataType, YDataType, AccDataType, XElementwiseOperation, YElementwiseOperation, InGrid2dDescTuple, GridDesc_M_K, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, XYSrcVectorDim, YDstVectorSize, true> |
◆ InDataTypePointerTuple
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
| using ck::tensor_operation::device::DeviceElementwiseNormalizationImpl< InDataTypeTuple, GammaDataType, BetaDataType, AccDataType, YDataType, XElementwiseOperation, YElementwiseOperation, Rank, NumReduceDim, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, YDstVectorSize >::InDataTypePointerTuple = decltype(GenerateInDataTypePointerTuple()) |
◆ InGrid2dDescTuple
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
| using ck::tensor_operation::device::DeviceElementwiseNormalizationImpl< InDataTypeTuple, GammaDataType, BetaDataType, AccDataType, YDataType, XElementwiseOperation, YElementwiseOperation, Rank, NumReduceDim, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, YDstVectorSize >::InGrid2dDescTuple = decltype(GenerateSrcGrid2dDescTuple(Number<NumInput>{})) |
◆ XDataType
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
| using ck::tensor_operation::device::DeviceElementwiseNormalizationImpl< InDataTypeTuple, GammaDataType, BetaDataType, AccDataType, YDataType, XElementwiseOperation, YElementwiseOperation, Rank, NumReduceDim, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XYSrcVectorDim, XSrcVectorSize, GammaSrcVectorDim, GammaSrcVectorSize, BetaSrcVectorDim, BetaSrcVectorSize, YDstVectorSize >::XDataType = YDataType |
Member Function Documentation
◆ GenerateInDataTypePointerTuple()
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
|
inlinestatic |
◆ GenerateSrcGrid2dDescTuple()
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
template<index_t TupleSize>
|
inlinestatic |
◆ GetTypeString()
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
|
inlineoverridevirtual |
Reimplemented from ck::tensor_operation::device::BaseOperator.
◆ IsSupportedArgument()
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
|
inlineoverridevirtual |
Reimplemented from ck::tensor_operation::device::BaseOperator.
◆ MakeArgumentPointer()
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
|
inlineoverridevirtual |
◆ MakeInvokerPointer()
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
|
inlineoverridevirtual |
◆ MakeSrc2dDescriptor()
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
|
inlinestatic |
Member Data Documentation
◆ K_BlockTileSize
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
|
staticconstexpr |
Initial value:
=
KThreadClusterSize * KThreadSliceSize
◆ M_BlockTileSize
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
|
staticconstexpr |
Initial value:
=
MThreadClusterSize * MThreadSliceSize
◆ NumInput
template<typename InDataTypeTuple , typename GammaDataType , typename BetaDataType , typename AccDataType , typename YDataType , typename XElementwiseOperation , typename YElementwiseOperation , index_t Rank, index_t NumReduceDim, index_t BlockSize, index_t MThreadClusterSize, index_t KThreadClusterSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t XYSrcVectorDim, index_t XSrcVectorSize, index_t GammaSrcVectorDim, index_t GammaSrcVectorSize, index_t BetaSrcVectorDim, index_t BetaSrcVectorSize, index_t YDstVectorSize>
|
staticconstexpr |
The documentation for this struct was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/tensor_operation/gpu/device/impl/device_elementwise_normalization_impl.hpp
Public Member Functions inherited from