TransformConvFwdToGemm< NDimSpatial, ConvSpecialization, VectorSizeA, VectorSizeB, VectorSizeC, NumGroupsToMerge, SplitN, ADataType, CDataType, IndexType > Struct Template Reference#
ck_tile::TransformConvFwdToGemm< NDimSpatial, ConvSpecialization, VectorSizeA, VectorSizeB, VectorSizeC, NumGroupsToMerge, SplitN, ADataType, CDataType, IndexType > Struct Template Reference
#include <transform_conv_fwd_to_gemm.hpp>
Classes | |
| struct | SplitImageInfo |
Public Member Functions | |
| CK_TILE_HOST constexpr IndexType | GetN () const |
| CK_TILE_HOST constexpr IndexType | GetOriginalN () const |
| CK_TILE_HOST constexpr | TransformConvFwdToGemm () |
| template<typename TransformConvFwdToGemmBase> | |
| CK_TILE_HOST | TransformConvFwdToGemm (const TransformConvFwdToGemmBase &transform_conv_fwd_to_gemm_base) |
| template<typename ConvDimsType, typename ConvSpatialDimsType, index_t NDim = NDimSpatial, typename std::enable_if< NDim==1, bool >::type = false> | |
| CK_TILE_HOST | TransformConvFwdToGemm (const ConvDimsType &a_g_n_c_wis_lengths, const ConvDimsType &b_g_k_c_xs_lengths, const ConvDimsType &c_g_n_k_wos_lengths, 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 std::enable_if< NDim==2, bool >::type = false> | |
| CK_TILE_HOST | TransformConvFwdToGemm (const ConvDimsType &a_g_n_c_wis_lengths, const ConvDimsType &b_g_k_c_xs_lengths, const ConvDimsType &c_g_n_k_wos_lengths, 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 std::enable_if< NDim==3, bool >::type = false> | |
| CK_TILE_HOST | TransformConvFwdToGemm (const ConvDimsType &a_g_n_c_wis_lengths, const ConvDimsType &b_g_k_c_xs_lengths, const ConvDimsType &c_g_n_k_wos_lengths, const ConvSpatialDimsType &conv_filter_strides, const ConvSpatialDimsType &conv_filter_dilations, const ConvSpatialDimsType &input_left_pads, const ConvSpatialDimsType &input_right_pads) |
| CK_TILE_HOST bool | AreDescriptorsSmallerThan2GB () const |
| template<typename ALayout, typename std::enable_if< NDimSpatial==1 &&std::is_same_v< ALayout, tensor_layout::convolution::NWGC >, bool >::type = false> | |
| CK_TILE_HOST auto | MakeADescriptor_M_K () const |
| template<typename ALayout, typename std::enable_if< NDimSpatial==2 &&std::is_same_v< ALayout, tensor_layout::convolution::NHWGC >, bool >::type = false> | |
| CK_TILE_HOST auto | MakeADescriptor_M_K () const |
| template<typename ALayout, typename std::enable_if< NDimSpatial==3 &&std::is_same_v< ALayout, tensor_layout::convolution::NDHWGC >, bool >::type = false> | |
| CK_TILE_HOST auto | MakeADescriptor_M_K () const |
| template<typename BLayout, typename std::enable_if< std::is_same_v< BLayout, tensor_layout::convolution::GKXC >||std::is_same_v< BLayout, tensor_layout::convolution::GKYXC >||std::is_same_v< BLayout, tensor_layout::convolution::GKZYXC >, bool >::type = false> | |
| CK_TILE_HOST auto | MakeBDescriptor_N_K () const |
| template<typename CLayout, index_t NDimSp = NDimSpatial, typename std::enable_if< NDimSp==1 &&std::is_same_v< CLayout, tensor_layout::convolution::NWGK >, bool >::type = false> | |
| CK_TILE_HOST auto | MakeCDescriptor_M_N () const |
| template<typename CLayout, index_t NDimSp = NDimSpatial, typename std::enable_if< NDimSp==2 &&std::is_same_v< CLayout, tensor_layout::convolution::NHWGK >, bool >::type = false> | |
| CK_TILE_HOST auto | MakeCDescriptor_M_N () const |
| template<typename CLayout, index_t NDimSp = NDimSpatial, typename std::enable_if< NDimSp==3 &&std::is_same_v< CLayout, tensor_layout::convolution::NDHWGK >, bool >::type = false> | |
| CK_TILE_HOST auto | MakeCDescriptor_M_N () const |
Static Public Member Functions | |
| static CK_TILE_HOST SplitImageInfo | GetSplitImageInfo (index_t G, index_t N, index_t C, index_t K, index_t D_out, index_t H_out, index_t W_out) |
Constructor & Destructor Documentation
◆ TransformConvFwdToGemm() [1/5]
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
|
inlineconstexpr |
◆ TransformConvFwdToGemm() [2/5]
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
template<typename TransformConvFwdToGemmBase>
|
inline |
◆ TransformConvFwdToGemm() [3/5]
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
template<typename ConvDimsType, typename ConvSpatialDimsType, index_t NDim = NDimSpatial, typename std::enable_if< NDim==1, bool >::type = false>
|
inline |
◆ TransformConvFwdToGemm() [4/5]
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
template<typename ConvDimsType, typename ConvSpatialDimsType, index_t NDim = NDimSpatial, typename std::enable_if< NDim==2, bool >::type = false>
|
inline |
◆ TransformConvFwdToGemm() [5/5]
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
template<typename ConvDimsType, typename ConvSpatialDimsType, index_t NDim = NDimSpatial, typename std::enable_if< NDim==3, bool >::type = false>
|
inline |
Member Function Documentation
◆ AreDescriptorsSmallerThan2GB()
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
|
inline |
◆ GetN()
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
|
inlineconstexpr |
◆ GetOriginalN()
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
|
inlineconstexpr |
◆ GetSplitImageInfo()
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
|
inlinestatic |
◆ MakeADescriptor_M_K() [1/3]
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
template<typename ALayout, typename std::enable_if< NDimSpatial==3 &&std::is_same_v< ALayout, tensor_layout::convolution::NDHWGC >, bool >::type = false>
|
inline |
◆ MakeADescriptor_M_K() [2/3]
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
template<typename ALayout, typename std::enable_if< NDimSpatial==2 &&std::is_same_v< ALayout, tensor_layout::convolution::NHWGC >, bool >::type = false>
|
inline |
◆ MakeADescriptor_M_K() [3/3]
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
template<typename ALayout, typename std::enable_if< NDimSpatial==1 &&std::is_same_v< ALayout, tensor_layout::convolution::NWGC >, bool >::type = false>
|
inline |
◆ MakeBDescriptor_N_K()
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
template<typename BLayout, typename std::enable_if< std::is_same_v< BLayout, tensor_layout::convolution::GKXC >||std::is_same_v< BLayout, tensor_layout::convolution::GKYXC >||std::is_same_v< BLayout, tensor_layout::convolution::GKZYXC >, bool >::type = false>
|
inline |
◆ MakeCDescriptor_M_N() [1/3]
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename std::enable_if< NDimSp==3 &&std::is_same_v< CLayout, tensor_layout::convolution::NDHWGK >, bool >::type = false>
|
inline |
◆ MakeCDescriptor_M_N() [2/3]
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename std::enable_if< NDimSp==2 &&std::is_same_v< CLayout, tensor_layout::convolution::NHWGK >, bool >::type = false>
|
inline |
◆ MakeCDescriptor_M_N() [3/3]
template<index_t NDimSpatial, ConvolutionSpecialization ConvSpecialization, index_t VectorSizeA, index_t VectorSizeB, index_t VectorSizeC, index_t NumGroupsToMerge = 1, bool SplitN = false, typename ADataType = float, typename CDataType = float, typename IndexType = index_t>
template<typename CLayout, index_t NDimSp = NDimSpatial, typename std::enable_if< NDimSp==1 &&std::is_same_v< CLayout, tensor_layout::convolution::NWGK >, bool >::type = false>
|
inline |
The documentation for this struct was generated from the following file: