DeviceBatchNormBwd< XDataType, DxDataType, DyDataType, AccDataType, ScaleDataType, DscaleDbiasDataType, MeanVarDataType, DyElementwiseOp, Rank, NumBatchNormReduceDim > Struct Template Reference

DeviceBatchNormBwd&lt; XDataType, DxDataType, DyDataType, AccDataType, ScaleDataType, DscaleDbiasDataType, MeanVarDataType, DyElementwiseOp, Rank, NumBatchNormReduceDim &gt; Struct Template Reference#

Composable Kernel: ck::tensor_operation::device::DeviceBatchNormBwd< XDataType, DxDataType, DyDataType, AccDataType, ScaleDataType, DscaleDbiasDataType, MeanVarDataType, DyElementwiseOp, Rank, NumBatchNormReduceDim > Struct Template Reference
ck::tensor_operation::device::DeviceBatchNormBwd< XDataType, DxDataType, DyDataType, AccDataType, ScaleDataType, DscaleDbiasDataType, MeanVarDataType, DyElementwiseOp, Rank, NumBatchNormReduceDim > Struct Template Referenceabstract

#include <device_batchnorm_backward.hpp>

Inheritance diagram for ck::tensor_operation::device::DeviceBatchNormBwd< XDataType, DxDataType, DyDataType, AccDataType, ScaleDataType, DscaleDbiasDataType, MeanVarDataType, DyElementwiseOp, Rank, NumBatchNormReduceDim >:
ck::tensor_operation::device::BaseOperator ck::tensor_operation::device::DeviceBatchNormBwdImpl< XDataType, DxDataType, DyDataType, AccDataType, ScaleDataType, DscaleDbiasDataType, MeanVarDataType, DyElementwiseOp, Rank, NumBatchNormReduceDim, UseMultiblockInK, BlockSize, MThreadClusterSize, KThreadClusterSize, MThreadSliceSize, KThreadSliceSize, XDyDxVectorDim, XSrcVectorSize, DySrcVectorSize, DxDstVectorSize, ScaleSrcVectorSize, DscaleDbiasDstVectorSize, MeanVarSrcVectorSize >

Public Member Functions

virtual std::unique_ptr< BaseArgumentMakeArgumentPointer (const std::array< index_t, Rank > xyLengths, const std::array< index_t, Rank > xStrides, const std::array< index_t, Rank > dyStrides, const std::array< index_t, Rank > dxStrides, const std::array< int, NumBatchNormReduceDim > reduceDims, const std::array< ck::index_t, NumInvariantDim > bnScaleBiasMeanVarLengths, const std::array< ck::index_t, NumInvariantDim > bnScaleStrides, const std::array< ck::index_t, NumInvariantDim > bnDscaleDbiasStrides, const std::array< ck::index_t, NumInvariantDim > bnMeanVarStrides, const void *p_x, const void *p_dy, const void *p_scale, const void *p_savedMean, const void *p_savedInvVar, double epsilon, const DyElementwiseOp dy_elementwise_op, void *p_dx, void *p_dscale, void *p_dbias)=0
virtual std::unique_ptr< BaseInvokerMakeInvokerPointer ()=0
Public Member Functions inherited from ck::tensor_operation::device::BaseOperator
 BaseOperator ()=default
 BaseOperator (const BaseOperator &)=default
BaseOperatoroperator= (const BaseOperator &)=default
virtual bool IsSupportedArgument (const BaseArgument *)
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 size_t GetWorkSpaceSize (const BaseArgument *) const
virtual void SetWorkSpacePointer (BaseArgument *p_arg, void *p_workspace, const StreamConfig &=StreamConfig{}) const
virtual ~BaseOperator ()

Static Public Attributes

static constexpr index_t NumInvariantDim = Rank - NumBatchNormReduceDim

Member Function Documentation

◆ MakeArgumentPointer()

template<typename XDataType, typename DxDataType, typename DyDataType, typename AccDataType, typename ScaleDataType, typename DscaleDbiasDataType, typename MeanVarDataType, typename DyElementwiseOp, index_t Rank, index_t NumBatchNormReduceDim>
virtual std::unique_ptr< BaseArgument > ck::tensor_operation::device::DeviceBatchNormBwd< XDataType, DxDataType, DyDataType, AccDataType, ScaleDataType, DscaleDbiasDataType, MeanVarDataType, DyElementwiseOp, Rank, NumBatchNormReduceDim >::MakeArgumentPointer ( const std::array< index_t, Rank > xyLengths,
const std::array< index_t, Rank > xStrides,
const std::array< index_t, Rank > dyStrides,
const std::array< index_t, Rank > dxStrides,
const std::array< int, NumBatchNormReduceDim > reduceDims,
const std::array< ck::index_t, NumInvariantDim > bnScaleBiasMeanVarLengths,
const std::array< ck::index_t, NumInvariantDim > bnScaleStrides,
const std::array< ck::index_t, NumInvariantDim > bnDscaleDbiasStrides,
const std::array< ck::index_t, NumInvariantDim > bnMeanVarStrides,
const void * p_x,
const void * p_dy,
const void * p_scale,
const void * p_savedMean,
const void * p_savedInvVar,
double epsilon,
const DyElementwiseOp dy_elementwise_op,
void * p_dx,
void * p_dscale,
void * p_dbias )
pure virtual

◆ MakeInvokerPointer()

template<typename XDataType, typename DxDataType, typename DyDataType, typename AccDataType, typename ScaleDataType, typename DscaleDbiasDataType, typename MeanVarDataType, typename DyElementwiseOp, index_t Rank, index_t NumBatchNormReduceDim>
virtual std::unique_ptr< BaseInvoker > ck::tensor_operation::device::DeviceBatchNormBwd< XDataType, DxDataType, DyDataType, AccDataType, ScaleDataType, DscaleDbiasDataType, MeanVarDataType, DyElementwiseOp, Rank, NumBatchNormReduceDim >::MakeInvokerPointer ( )
pure virtual

Member Data Documentation

◆ NumInvariantDim

template<typename XDataType, typename DxDataType, typename DyDataType, typename AccDataType, typename ScaleDataType, typename DscaleDbiasDataType, typename MeanVarDataType, typename DyElementwiseOp, index_t Rank, index_t NumBatchNormReduceDim>
index_t ck::tensor_operation::device::DeviceBatchNormBwd< XDataType, DxDataType, DyDataType, AccDataType, ScaleDataType, DscaleDbiasDataType, MeanVarDataType, DyElementwiseOp, Rank, NumBatchNormReduceDim >::NumInvariantDim = Rank - NumBatchNormReduceDim
staticconstexpr

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