ImageToColumn< Problem_ > Struct Template Reference

ImageToColumn&lt; Problem_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::ImageToColumn< Problem_ > Struct Template Reference
ck_tile::ImageToColumn< Problem_ > Struct Template Reference

#include <image_to_column_kernel.hpp>

Classes

struct  Kargs
 

Public Types

using Problem = remove_cvref_t< Problem_ >
 
using InDataType = remove_cvref_t< typename Problem::InDataType >
 
using OutDataType = remove_cvref_t< typename Problem::OutDataType >
 

Public Member Functions

CK_TILE_DEVICE auto MakeImageMKDesc (const Kargs &kargs) const
 
CK_TILE_DEVICE auto CalculateMKDims (const Kargs &kargs) const
 
CK_TILE_DEVICE void ConvTensorRearrange (const Kargs &kargs) const
 
CK_TILE_DEVICE void operator() (Kargs &kargs) const
 

Static Public Member Functions

static constexpr CK_TILE_HOST Kargs MakeKargs (const void *p_in, void *p_out, const long_index_t G, const long_index_t N, const long_index_t C, const array< long_index_t, NDimSpatial > input_spatial_lengths, const array< long_index_t, NDimSpatial > filter_spatial_lengths, const array< long_index_t, NDimSpatial > output_spatial_lengths, const array< long_index_t, NDimSpatial+3 > image_g_n_c_wis_strides, const array< long_index_t, 3 > gemm_g_m_k_strides, const array< long_index_t, NDimSpatial > conv_filter_strides, const array< long_index_t, NDimSpatial > conv_filter_dilations, const array< long_index_t, NDimSpatial > input_left_pads, const array< long_index_t, NDimSpatial > input_right_pads)
 
static constexpr CK_TILE_HOST auto GridSize (index_t GemmM, index_t GemmK, index_t Batch)
 
static constexpr CK_TILE_HOST auto BlockSize ()
 
static constexpr CK_TILE_DEVICE auto MakeBlockTileDistribution ()
 

Static Public Attributes

static constexpr auto I0 = number<0>{}
 
static constexpr auto I1 = number<1>{}
 
static constexpr auto I2 = number<2>{}
 
static constexpr auto I3 = number<3>{}
 
static constexpr auto I4 = number<4>{}
 
static constexpr index_t NDimSpatial = Problem::NDimSpatial
 
static constexpr index_t AligmentIn = Problem::AligmentIn
 
static constexpr index_t AligmentOut = Problem::AligmentOut
 
static constexpr index_t kMPerBlock = Problem::BlockShape::kMPerBlock
 
static constexpr index_t kKPerBlock = Problem::BlockShape::kKPerBlock
 

Member Typedef Documentation

◆ InDataType

template<typename Problem_ >
using ck_tile::ImageToColumn< Problem_ >::InDataType = remove_cvref_t<typename Problem::InDataType>

◆ OutDataType

template<typename Problem_ >
using ck_tile::ImageToColumn< Problem_ >::OutDataType = remove_cvref_t<typename Problem::OutDataType>

◆ Problem

template<typename Problem_ >
using ck_tile::ImageToColumn< Problem_ >::Problem = remove_cvref_t<Problem_>

Member Function Documentation

◆ BlockSize()

template<typename Problem_ >
static constexpr CK_TILE_HOST auto ck_tile::ImageToColumn< Problem_ >::BlockSize ( )
inlinestaticconstexpr

◆ CalculateMKDims()

template<typename Problem_ >
CK_TILE_DEVICE auto ck_tile::ImageToColumn< Problem_ >::CalculateMKDims ( const Kargs kargs) const
inline

◆ ConvTensorRearrange()

template<typename Problem_ >
CK_TILE_DEVICE void ck_tile::ImageToColumn< Problem_ >::ConvTensorRearrange ( const Kargs kargs) const
inline

◆ GridSize()

template<typename Problem_ >
static constexpr CK_TILE_HOST auto ck_tile::ImageToColumn< Problem_ >::GridSize ( index_t  GemmM,
index_t  GemmK,
index_t  Batch 
)
inlinestaticconstexpr

◆ MakeBlockTileDistribution()

template<typename Problem_ >
static constexpr CK_TILE_DEVICE auto ck_tile::ImageToColumn< Problem_ >::MakeBlockTileDistribution ( )
inlinestaticconstexpr

◆ MakeImageMKDesc()

template<typename Problem_ >
CK_TILE_DEVICE auto ck_tile::ImageToColumn< Problem_ >::MakeImageMKDesc ( const Kargs kargs) const
inline

◆ MakeKargs()

template<typename Problem_ >
static constexpr CK_TILE_HOST Kargs ck_tile::ImageToColumn< Problem_ >::MakeKargs ( const void *  p_in,
void *  p_out,
const long_index_t  G,
const long_index_t  N,
const long_index_t  C,
const array< long_index_t, NDimSpatial input_spatial_lengths,
const array< long_index_t, NDimSpatial filter_spatial_lengths,
const array< long_index_t, NDimSpatial output_spatial_lengths,
const array< long_index_t, NDimSpatial+3 >  image_g_n_c_wis_strides,
const array< long_index_t, 3 >  gemm_g_m_k_strides,
const array< long_index_t, NDimSpatial conv_filter_strides,
const array< long_index_t, NDimSpatial conv_filter_dilations,
const array< long_index_t, NDimSpatial input_left_pads,
const array< long_index_t, NDimSpatial input_right_pads 
)
inlinestaticconstexpr

◆ operator()()

template<typename Problem_ >
CK_TILE_DEVICE void ck_tile::ImageToColumn< Problem_ >::operator() ( Kargs kargs) const
inline

Member Data Documentation

◆ AligmentIn

template<typename Problem_ >
constexpr index_t ck_tile::ImageToColumn< Problem_ >::AligmentIn = Problem::AligmentIn
staticconstexpr

◆ AligmentOut

template<typename Problem_ >
constexpr index_t ck_tile::ImageToColumn< Problem_ >::AligmentOut = Problem::AligmentOut
staticconstexpr

◆ I0

template<typename Problem_ >
constexpr auto ck_tile::ImageToColumn< Problem_ >::I0 = number<0>{}
staticconstexpr

◆ I1

template<typename Problem_ >
constexpr auto ck_tile::ImageToColumn< Problem_ >::I1 = number<1>{}
staticconstexpr

◆ I2

template<typename Problem_ >
constexpr auto ck_tile::ImageToColumn< Problem_ >::I2 = number<2>{}
staticconstexpr

◆ I3

template<typename Problem_ >
constexpr auto ck_tile::ImageToColumn< Problem_ >::I3 = number<3>{}
staticconstexpr

◆ I4

template<typename Problem_ >
constexpr auto ck_tile::ImageToColumn< Problem_ >::I4 = number<4>{}
staticconstexpr

◆ kKPerBlock

template<typename Problem_ >
constexpr index_t ck_tile::ImageToColumn< Problem_ >::kKPerBlock = Problem::BlockShape::kKPerBlock
staticconstexpr

◆ kMPerBlock

template<typename Problem_ >
constexpr index_t ck_tile::ImageToColumn< Problem_ >::kMPerBlock = Problem::BlockShape::kMPerBlock
staticconstexpr

◆ NDimSpatial

template<typename Problem_ >
constexpr index_t ck_tile::ImageToColumn< Problem_ >::NDimSpatial = Problem::NDimSpatial
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/docs-6.4.3/include/ck_tile/ops/image_to_column/kernel/image_to_column_kernel.hpp