TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose > Struct Template Reference

TransformConvFwdToGemm&lt; NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose &gt; Struct Template Reference#

Composable Kernel: ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose > Struct Template Reference
ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose > Struct Template Reference

#include <transform_conv_fwd_to_gemm.hpp>

Public Member Functions

__host__ __device__ constexpr TransformConvFwdToGemm ()
template<typename TransformConvFwdToGemmBase>
__host__ __device__ TransformConvFwdToGemm (const TransformConvFwdToGemmBase &transform_conv_fwd_to_gemm_base)
template<typename ConvDimsType, typename ConvSpatialDimsType, index_t NDim = NDimSpatial, typename ck::enable_if< NDim==1, bool >::type = false>
__host__ __device__ TransformConvFwdToGemm (const ConvDimsType &a_g_n_c_wis_lengths, const ConvDimsType &a_g_n_c_wis_strides, const ConvDimsType &b_g_k_c_xs_lengths, const ConvDimsType &b_g_k_c_xs_strides, const ConvDimsType &c_g_n_k_wos_lengths, const ConvDimsType &c_g_n_k_wos_strides, const ConvSpatialDimsType &conv_filter_strides, const ConvSpatialDimsType &conv_filter_dilations, const ConvSpatialDimsType &input_left_pads, const ConvSpatialDimsType &input_right_pads)
template<typename ConvDimsType, typename ConvSpatialDimsType, index_t NDim = NDimSpatial, typename ck::enable_if< NDim==2, bool >::type = false>
__host__ __device__ TransformConvFwdToGemm (const ConvDimsType &a_g_n_c_wis_lengths, const ConvDimsType &a_g_n_c_wis_strides, const ConvDimsType &b_g_k_c_xs_lengths, const ConvDimsType &b_g_k_c_xs_strides, const ConvDimsType &c_g_n_k_wos_lengths, const ConvDimsType &c_g_n_k_wos_strides, const ConvSpatialDimsType &conv_filter_strides, const ConvSpatialDimsType &conv_filter_dilations, const ConvSpatialDimsType &input_left_pads, const ConvSpatialDimsType &input_right_pads)
template<typename ConvDimsType, typename ConvSpatialDimsType, index_t NDim = NDimSpatial, typename ck::enable_if< NDim==3, bool >::type = false>
__host__ __device__ TransformConvFwdToGemm (const ConvDimsType &a_g_n_c_wis_lengths, const ConvDimsType &a_g_n_c_wis_strides, const ConvDimsType &b_g_k_c_xs_lengths, const ConvDimsType &b_g_k_c_xs_strides, const ConvDimsType &c_g_n_k_wos_lengths, const ConvDimsType &c_g_n_k_wos_strides, const ConvSpatialDimsType &conv_filter_strides, const ConvSpatialDimsType &conv_filter_dilations, const ConvSpatialDimsType &input_left_pads, const ConvSpatialDimsType &input_right_pads)
__host__ bool AreDescriptorsSmallerThan2GB () const
template<typename DsPointer>
__host__ auto SplitConvProblem (const ADataType *a_grid_ptr_base, DsPointer &ds_grid_ptr_base, CDataType *c_grid_ptr_base) const
template<typename ALayout, typename ck::enable_if< NDimSpatial==1 &&(is_same_v< ALayout, tensor_layout::convolution::G_NW_C >||is_same_v< ALayout, tensor_layout::convolution::NWGC >||is_same_v< ALayout, tensor_layout::convolution::GNWC >), bool >::type = false>
__host__ __device__ auto MakeADescriptor_M_K () const
template<typename ALayout, typename ck::enable_if< NDimSpatial==2 &&(is_same_v< ALayout, tensor_layout::convolution::G_NHW_C >||is_same_v< ALayout, tensor_layout::convolution::NHWGC >||is_same_v< ALayout, tensor_layout::convolution::GNHWC >), bool >::type = false>
__host__ __device__ auto MakeADescriptor_M_K () const
template<typename ALayout, typename ck::enable_if< NDimSpatial==3 &&(is_same_v< ALayout, tensor_layout::convolution::G_NDHW_C >||is_same_v< ALayout, tensor_layout::convolution::NDHWGC >||is_same_v< ALayout, tensor_layout::convolution::GNDHWC >), bool >::type = false>
__host__ __device__ auto MakeADescriptor_M_K () const
template<typename ALayout, typename ck::enable_if< NDimSpatial==1 &&is_same_v< ALayout, tensor_layout::convolution::NGCW >, bool >::type = false>
__host__ __device__ auto MakeADescriptor_M_K () const
template<typename ALayout, typename ck::enable_if< NDimSpatial==2 &&is_same_v< ALayout, tensor_layout::convolution::NGCHW >, bool >::type = false>
__host__ __device__ auto MakeADescriptor_M_K () const
template<typename ALayout, typename ck::enable_if< NDimSpatial==3 &&is_same_v< ALayout, tensor_layout::convolution::NGCDHW >, bool >::type = false>
__host__ __device__ auto MakeADescriptor_M_K () const
template<typename BLayout, typename ck::enable_if< is_same_v< BLayout, tensor_layout::convolution::GKCX >||is_same_v< BLayout, tensor_layout::convolution::GKCYX >||is_same_v< BLayout, tensor_layout::convolution::GKCZYX >, bool >::type = false>
__host__ __device__ auto MakeBDescriptor_N_K () const
template<typename BLayout, typename ck::enable_if< is_same_v< BLayout, tensor_layout::convolution::GKXC >||is_same_v< BLayout, tensor_layout::convolution::GKYXC >||is_same_v< BLayout, tensor_layout::convolution::GKZYXC >, bool >::type = false>
__host__ __device__ auto MakeBDescriptor_N_K () const
template<typename BLayout, typename ck::enable_if< is_same_v< BLayout, tensor_layout::convolution::G_K_X_C >||is_same_v< BLayout, tensor_layout::convolution::G_K_YX_C >||is_same_v< BLayout, tensor_layout::convolution::G_K_ZYX_C >||is_same_v< BLayout, tensor_layout::convolution::KXGC >||is_same_v< BLayout, tensor_layout::convolution::KYXGC >||is_same_v< BLayout, tensor_layout::convolution::KZYXGC >, bool >::type = false>
__host__ __device__ auto MakeBDescriptor_N_K () const
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==1 &&(is_same_v< CLayout, tensor_layout::convolution::G_K >), bool >::type = false>
__host__ __device__ auto MakeCDescriptor_M_N () const
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==2 &&(is_same_v< CLayout, tensor_layout::convolution::G_K >), bool >::type = false>
__host__ __device__ auto MakeCDescriptor_M_N () const
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==3 &&(is_same_v< CLayout, tensor_layout::convolution::G_K >), bool >::type = false>
__host__ __device__ auto MakeCDescriptor_M_N () const
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==1 &&(is_same_v< CLayout, tensor_layout::convolution::G_NW_K >||is_same_v< CLayout, tensor_layout::convolution::NWGK >||is_same_v< CLayout, tensor_layout::convolution::GNWK >), bool >::type = false>
__host__ __device__ auto MakeCDescriptor_M_N () const
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==2 &&(is_same_v< CLayout, tensor_layout::convolution::G_NHW_K >||is_same_v< CLayout, tensor_layout::convolution::NHWGK >||is_same_v< CLayout, tensor_layout::convolution::GNHWK >), bool >::type = false>
__host__ __device__ auto MakeCDescriptor_M_N () const
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==3 &&(is_same_v< CLayout, tensor_layout::convolution::G_NDHW_K >||is_same_v< CLayout, tensor_layout::convolution::NDHWGK >||is_same_v< CLayout, tensor_layout::convolution::GNDHWK >), bool >::type = false>
__host__ __device__ auto MakeCDescriptor_M_N () const
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==1 &&(is_same_v< CLayout, tensor_layout::convolution::GNKW >||is_same_v< CLayout, tensor_layout::convolution::NGKW >), bool >::type = false>
__host__ __device__ auto MakeCDescriptor_M_N () const
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==2 &&(is_same_v< CLayout, tensor_layout::convolution::GNKHW >||is_same_v< CLayout, tensor_layout::convolution::NGKHW >), bool >::type = false>
__host__ __device__ auto MakeCDescriptor_M_N () const
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==3 &&(is_same_v< CLayout, tensor_layout::convolution::GNKDHW >||is_same_v< CLayout, tensor_layout::convolution::NGKDHW >), bool >::type = false>
__host__ __device__ auto MakeCDescriptor_M_N () const

Public Attributes

IndexType N_
IndexType Di_
IndexType Hi_
IndexType Wi_
IndexType Do_
IndexType Ho_
IndexType Wo_
IndexType Z_
IndexType Y_
IndexType X_
IndexType K_
IndexType C_
IndexType DiStride_
IndexType HiStride_
IndexType WiStride_
IndexType DoStride_
IndexType HoStride_
IndexType WoStride_
IndexType XStride_
IndexType CStrideTensorA_
IndexType CStrideTensorB_
IndexType KStrideTensorB_
IndexType KStrideTensorC_
IndexType NStrideTensorA_
IndexType NStrideTensorC_
IndexType GStrideTensorA_
IndexType GStrideTensorB_
IndexType GStrideTensorC_
IndexType ConvStrideD_
IndexType ConvStrideH_
IndexType ConvStrideW_
IndexType ConvDilationD_
IndexType ConvDilationH_
IndexType ConvDilationW_
IndexType InLeftPadD_
IndexType InLeftPadH_
IndexType InLeftPadW_
IndexType InRightPadD_
IndexType InRightPadH_
IndexType InRightPadW_
IndexType ZYX_

Constructor & Destructor Documentation

◆ TransformConvFwdToGemm() [1/5]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
__host__ __device__ constexpr ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::TransformConvFwdToGemm ( )
inlineconstexpr

◆ TransformConvFwdToGemm() [2/5]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename TransformConvFwdToGemmBase>
__host__ __device__ ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::TransformConvFwdToGemm ( const TransformConvFwdToGemmBase & transform_conv_fwd_to_gemm_base)
inline

◆ TransformConvFwdToGemm() [3/5]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename ConvDimsType, typename ConvSpatialDimsType, index_t NDim = NDimSpatial, typename ck::enable_if< NDim==1, bool >::type = false>
__host__ __device__ ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::TransformConvFwdToGemm ( const ConvDimsType & a_g_n_c_wis_lengths,
const ConvDimsType & a_g_n_c_wis_strides,
const ConvDimsType & b_g_k_c_xs_lengths,
const ConvDimsType & b_g_k_c_xs_strides,
const ConvDimsType & c_g_n_k_wos_lengths,
const ConvDimsType & c_g_n_k_wos_strides,
const ConvSpatialDimsType & conv_filter_strides,
const ConvSpatialDimsType & conv_filter_dilations,
const ConvSpatialDimsType & input_left_pads,
const ConvSpatialDimsType & input_right_pads )
inline

◆ TransformConvFwdToGemm() [4/5]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename ConvDimsType, typename ConvSpatialDimsType, index_t NDim = NDimSpatial, typename ck::enable_if< NDim==2, bool >::type = false>
__host__ __device__ ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::TransformConvFwdToGemm ( const ConvDimsType & a_g_n_c_wis_lengths,
const ConvDimsType & a_g_n_c_wis_strides,
const ConvDimsType & b_g_k_c_xs_lengths,
const ConvDimsType & b_g_k_c_xs_strides,
const ConvDimsType & c_g_n_k_wos_lengths,
const ConvDimsType & c_g_n_k_wos_strides,
const ConvSpatialDimsType & conv_filter_strides,
const ConvSpatialDimsType & conv_filter_dilations,
const ConvSpatialDimsType & input_left_pads,
const ConvSpatialDimsType & input_right_pads )
inline

◆ TransformConvFwdToGemm() [5/5]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename ConvDimsType, typename ConvSpatialDimsType, index_t NDim = NDimSpatial, typename ck::enable_if< NDim==3, bool >::type = false>
__host__ __device__ ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::TransformConvFwdToGemm ( const ConvDimsType & a_g_n_c_wis_lengths,
const ConvDimsType & a_g_n_c_wis_strides,
const ConvDimsType & b_g_k_c_xs_lengths,
const ConvDimsType & b_g_k_c_xs_strides,
const ConvDimsType & c_g_n_k_wos_lengths,
const ConvDimsType & c_g_n_k_wos_strides,
const ConvSpatialDimsType & conv_filter_strides,
const ConvSpatialDimsType & conv_filter_dilations,
const ConvSpatialDimsType & input_left_pads,
const ConvSpatialDimsType & input_right_pads )
inline

Member Function Documentation

◆ AreDescriptorsSmallerThan2GB()

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
__host__ bool ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::AreDescriptorsSmallerThan2GB ( ) const
inline

◆ MakeADescriptor_M_K() [1/6]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename ALayout, typename ck::enable_if< NDimSpatial==3 &&is_same_v< ALayout, tensor_layout::convolution::NGCDHW >, bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeADescriptor_M_K ( ) const
inline

◆ MakeADescriptor_M_K() [2/6]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename ALayout, typename ck::enable_if< NDimSpatial==2 &&is_same_v< ALayout, tensor_layout::convolution::NGCHW >, bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeADescriptor_M_K ( ) const
inline

◆ MakeADescriptor_M_K() [3/6]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename ALayout, typename ck::enable_if< NDimSpatial==1 &&is_same_v< ALayout, tensor_layout::convolution::NGCW >, bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeADescriptor_M_K ( ) const
inline

◆ MakeADescriptor_M_K() [4/6]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename ALayout, typename ck::enable_if< NDimSpatial==3 &&(is_same_v< ALayout, tensor_layout::convolution::G_NDHW_C >||is_same_v< ALayout, tensor_layout::convolution::NDHWGC >||is_same_v< ALayout, tensor_layout::convolution::GNDHWC >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeADescriptor_M_K ( ) const
inline

◆ MakeADescriptor_M_K() [5/6]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename ALayout, typename ck::enable_if< NDimSpatial==2 &&(is_same_v< ALayout, tensor_layout::convolution::G_NHW_C >||is_same_v< ALayout, tensor_layout::convolution::NHWGC >||is_same_v< ALayout, tensor_layout::convolution::GNHWC >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeADescriptor_M_K ( ) const
inline

◆ MakeADescriptor_M_K() [6/6]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename ALayout, typename ck::enable_if< NDimSpatial==1 &&(is_same_v< ALayout, tensor_layout::convolution::G_NW_C >||is_same_v< ALayout, tensor_layout::convolution::NWGC >||is_same_v< ALayout, tensor_layout::convolution::GNWC >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeADescriptor_M_K ( ) const
inline

◆ MakeBDescriptor_N_K() [1/3]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeBDescriptor_N_K ( ) const
inline

◆ MakeBDescriptor_N_K() [2/3]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename BLayout, typename ck::enable_if< is_same_v< BLayout, tensor_layout::convolution::GKXC >||is_same_v< BLayout, tensor_layout::convolution::GKYXC >||is_same_v< BLayout, tensor_layout::convolution::GKZYXC >, bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeBDescriptor_N_K ( ) const
inline

◆ MakeBDescriptor_N_K() [3/3]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename BLayout, typename ck::enable_if< is_same_v< BLayout, tensor_layout::convolution::GKCX >||is_same_v< BLayout, tensor_layout::convolution::GKCYX >||is_same_v< BLayout, tensor_layout::convolution::GKCZYX >, bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeBDescriptor_N_K ( ) const
inline

◆ MakeCDescriptor_M_N() [1/9]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==3 &&(is_same_v< CLayout, tensor_layout::convolution::GNKDHW >||is_same_v< CLayout, tensor_layout::convolution::NGKDHW >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeCDescriptor_M_N ( ) const
inline

◆ MakeCDescriptor_M_N() [2/9]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==2 &&(is_same_v< CLayout, tensor_layout::convolution::GNKHW >||is_same_v< CLayout, tensor_layout::convolution::NGKHW >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeCDescriptor_M_N ( ) const
inline

◆ MakeCDescriptor_M_N() [3/9]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==1 &&(is_same_v< CLayout, tensor_layout::convolution::GNKW >||is_same_v< CLayout, tensor_layout::convolution::NGKW >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeCDescriptor_M_N ( ) const
inline

◆ MakeCDescriptor_M_N() [4/9]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==3 &&(is_same_v< CLayout, tensor_layout::convolution::G_NDHW_K >||is_same_v< CLayout, tensor_layout::convolution::NDHWGK >||is_same_v< CLayout, tensor_layout::convolution::GNDHWK >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeCDescriptor_M_N ( ) const
inline

◆ MakeCDescriptor_M_N() [5/9]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==2 &&(is_same_v< CLayout, tensor_layout::convolution::G_NHW_K >||is_same_v< CLayout, tensor_layout::convolution::NHWGK >||is_same_v< CLayout, tensor_layout::convolution::GNHWK >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeCDescriptor_M_N ( ) const
inline

◆ MakeCDescriptor_M_N() [6/9]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==1 &&(is_same_v< CLayout, tensor_layout::convolution::G_NW_K >||is_same_v< CLayout, tensor_layout::convolution::NWGK >||is_same_v< CLayout, tensor_layout::convolution::GNWK >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeCDescriptor_M_N ( ) const
inline

◆ MakeCDescriptor_M_N() [7/9]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==3 &&(is_same_v< CLayout, tensor_layout::convolution::G_K >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeCDescriptor_M_N ( ) const
inline

◆ MakeCDescriptor_M_N() [8/9]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==2 &&(is_same_v< CLayout, tensor_layout::convolution::G_K >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeCDescriptor_M_N ( ) const
inline

◆ MakeCDescriptor_M_N() [9/9]

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename ck::enable_if< NDimSp==1 &&(is_same_v< CLayout, tensor_layout::convolution::G_K >), bool >::type = false>
__host__ __device__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::MakeCDescriptor_M_N ( ) const
inline

◆ SplitConvProblem()

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
template<typename DsPointer>
__host__ auto ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::SplitConvProblem ( const ADataType * a_grid_ptr_base,
DsPointer & ds_grid_ptr_base,
CDataType * c_grid_ptr_base ) const
inline

Member Data Documentation

◆ C_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::C_

◆ ConvDilationD_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::ConvDilationD_

◆ ConvDilationH_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::ConvDilationH_

◆ ConvDilationW_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::ConvDilationW_

◆ ConvStrideD_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::ConvStrideD_

◆ ConvStrideH_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::ConvStrideH_

◆ ConvStrideW_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::ConvStrideW_

◆ CStrideTensorA_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::CStrideTensorA_

◆ CStrideTensorB_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::CStrideTensorB_

◆ Di_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::Di_

◆ DiStride_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::DiStride_

◆ Do_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::Do_

◆ DoStride_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::DoStride_

◆ GStrideTensorA_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::GStrideTensorA_

◆ GStrideTensorB_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::GStrideTensorB_

◆ GStrideTensorC_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::GStrideTensorC_

◆ Hi_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::Hi_

◆ HiStride_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::HiStride_

◆ Ho_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::Ho_

◆ HoStride_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::HoStride_

◆ InLeftPadD_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::InLeftPadD_

◆ InLeftPadH_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::InLeftPadH_

◆ InLeftPadW_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::InLeftPadW_

◆ InRightPadD_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::InRightPadD_

◆ InRightPadH_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::InRightPadH_

◆ InRightPadW_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::InRightPadW_

◆ K_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::K_

◆ KStrideTensorB_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::KStrideTensorB_

◆ KStrideTensorC_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::KStrideTensorC_

◆ N_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::N_

◆ NStrideTensorA_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::NStrideTensorA_

◆ NStrideTensorC_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::NStrideTensorC_

◆ Wi_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::Wi_

◆ WiStride_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::WiStride_

◆ Wo_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::Wo_

◆ WoStride_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::WoStride_

◆ X_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::X_

◆ XStride_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::XStride_

◆ Y_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::Y_

◆ Z_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::Z_

◆ ZYX_

template<index_t NDimSpatial, device::ConvolutionForwardSpecialization ConvForwardSpecialization, bool SplitN = false, typename ADataType = float, typename CDataType = float, index_t NumGroupsToMerge = 1, typename IndexType = index_t, bool CTranspose = false>
IndexType ck::tensor_operation::TransformConvFwdToGemm< NDimSpatial, ConvForwardSpecialization, SplitN, ADataType, CDataType, NumGroupsToMerge, IndexType, CTranspose >::ZYX_

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