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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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: