GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ > Struct Template Reference

GroupedConvTraits&lt; NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ > Struct Template Reference
ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ > Struct Template Reference

#include <grouped_convolution_utils.hpp>

Public Types

using InLayout = InLayout_
 
using WeiLayout = WeiLayout_
 
using DsLayout = DsLayout_
 
using OutLayout = OutLayout_
 
using GroupedConvImplicitGemmTraitsFwd = TileGemmTraits< true, true, true, ck_tile::tensor_layout::gemm::RowMajor, ck_tile::tensor_layout::gemm::ColumnMajor, ck_tile::tensor_layout::gemm::RowMajor >
 
using GroupedConvImplicitGemmTraitsBwdData = TileGemmTraits< true, true, true, ck_tile::tensor_layout::gemm::RowMajor, ck_tile::tensor_layout::gemm::ColumnMajor, ck_tile::tensor_layout::gemm::RowMajor >
 
using GroupedConvImplicitGemmTraitsBwdWeight = TileGemmTraits< true, true, true, ck_tile::tensor_layout::gemm::RowMajor, ck_tile::tensor_layout::gemm::ColumnMajor, ck_tile::tensor_layout::gemm::RowMajor >
 
using ImplicitGemmDsLayout = decltype(generate_implicit_gemm_layout())
 

Static Public Attributes

static constexpr index_t NumGroupsToMerge = 1
 
static constexpr index_t NDimSpatial = NDimSpatial_
 
static constexpr ConvolutionSpecialization ConvSpecialization = ConvSpecialization_
 
static constexpr ck_tile::index_t VectorSizeA = VectorSizeA_
 
static constexpr ck_tile::index_t VectorSizeB = VectorSizeB_
 
static constexpr ck_tile::index_t VectorSizeC = VectorSizeC_
 
static constexpr index_t NumDTensor = DsLayout::size()
 

Member Typedef Documentation

◆ DsLayout

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
using ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::DsLayout = DsLayout_

◆ GroupedConvImplicitGemmTraitsBwdData

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
using ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::GroupedConvImplicitGemmTraitsBwdData = TileGemmTraits<true, true, true, ck_tile::tensor_layout::gemm::RowMajor, ck_tile::tensor_layout::gemm::ColumnMajor, ck_tile::tensor_layout::gemm::RowMajor>

◆ GroupedConvImplicitGemmTraitsBwdWeight

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
using ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::GroupedConvImplicitGemmTraitsBwdWeight = TileGemmTraits<true, true, true, ck_tile::tensor_layout::gemm::RowMajor, ck_tile::tensor_layout::gemm::ColumnMajor, ck_tile::tensor_layout::gemm::RowMajor>

◆ GroupedConvImplicitGemmTraitsFwd

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
using ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::GroupedConvImplicitGemmTraitsFwd = TileGemmTraits<true, true, true, ck_tile::tensor_layout::gemm::RowMajor, ck_tile::tensor_layout::gemm::ColumnMajor, ck_tile::tensor_layout::gemm::RowMajor>

◆ ImplicitGemmDsLayout

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
using ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::ImplicitGemmDsLayout = decltype(generate_implicit_gemm_layout())

◆ InLayout

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
using ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::InLayout = InLayout_

◆ OutLayout

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
using ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::OutLayout = OutLayout_

◆ WeiLayout

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
using ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::WeiLayout = WeiLayout_

Member Data Documentation

◆ ConvSpecialization

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
constexpr ConvolutionSpecialization ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::ConvSpecialization = ConvSpecialization_
staticconstexpr

◆ NDimSpatial

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
constexpr index_t ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::NDimSpatial = NDimSpatial_
staticconstexpr

◆ NumDTensor

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
constexpr index_t ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::NumDTensor = DsLayout::size()
staticconstexpr

◆ NumGroupsToMerge

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
constexpr index_t ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::NumGroupsToMerge = 1
staticconstexpr

◆ VectorSizeA

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
constexpr ck_tile::index_t ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::VectorSizeA = VectorSizeA_
staticconstexpr

◆ VectorSizeB

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
constexpr ck_tile::index_t ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::VectorSizeB = VectorSizeB_
staticconstexpr

◆ VectorSizeC

template<index_t NDimSpatial_, ConvolutionSpecialization ConvSpecialization_, typename InLayout_ , typename WeiLayout_ , typename DsLayout_ , typename OutLayout_ , index_t VectorSizeA_ = 1, index_t VectorSizeB_ = 1, index_t VectorSizeC_ = 1>
constexpr ck_tile::index_t ck_tile::GroupedConvTraits< NDimSpatial_, ConvSpecialization_, InLayout_, WeiLayout_, DsLayout_, OutLayout_, VectorSizeA_, VectorSizeB_, VectorSizeC_ >::VectorSizeC = VectorSizeC_
staticconstexpr

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/grouped_convolution/utils/grouped_convolution_utils.hpp