TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread > Struct Template Reference

TransformConvNGCHWToNHWGC&lt; ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread &gt; Struct Template Reference#

Composable Kernel: ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread > Struct Template Reference
ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread > Struct Template Reference

#include <transform_conv_ngchw_to_nhwgc.hpp>

Static Public Member Functions

template<ck::index_t NDim, typename ck::enable_if< NDim==1, bool >::type = false>
static auto MakeNGCHWTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_strides, const index_t split_n_size=1)
template<ck::index_t NDim, typename ck::enable_if< NDim==1, bool >::type = false>
static auto MakeNHWGCTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_strides, const index_t split_n_size=1)
template<ck::index_t NDim, typename ck::enable_if< NDim==2, bool >::type = false>
static auto MakeNGCHWTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_strides, const index_t split_n_size=1)
template<ck::index_t NDim, typename ck::enable_if< NDim==2, bool >::type = false>
static auto MakeNHWGCTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_strides, const index_t split_n_size=1)
template<ck::index_t NDim, typename ck::enable_if< NDim==3, bool >::type = false>
static auto MakeNGCHWTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_strides, const index_t split_n_size=1)
template<ck::index_t NDim, typename ck::enable_if< NDim==3, bool >::type = false>
static auto MakeNHWGCTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_n_c_wis_strides, const index_t split_n_size=1)
template<ck::index_t NDim, typename ck::enable_if< NDim==1, bool >::type = false>
static auto MakeGKCYXTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_strides)
template<ck::index_t NDim, typename ck::enable_if< NDim==1, bool >::type = false>
static auto MakeGKYXCTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_strides)
template<ck::index_t NDim, typename ck::enable_if< NDim==2, bool >::type = false>
static auto MakeGKCYXTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_strides)
template<ck::index_t NDim, typename ck::enable_if< NDim==2, bool >::type = false>
static auto MakeGKYXCTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_strides)
template<ck::index_t NDim, typename ck::enable_if< NDim==3, bool >::type = false>
static auto MakeGKCYXTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_strides)
template<ck::index_t NDim, typename ck::enable_if< NDim==3, bool >::type = false>
static auto MakeGKYXCTransposeDesc (const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_strides)
static auto TransposeInOutStrides (const std::array< index_t, NDimSpatial+3 > &g_n_c_wis_lengths, const std::array< index_t, NDimSpatial+3 > &g_n_c_wis_strides)
static auto TransposeWeiStrides (const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_lengths, const std::array< ck::index_t, NDimSpatial+3 > &g_k_c_wis_strides)

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 auto I5 = Number<5>{}

Member Function Documentation

◆ MakeGKCYXTransposeDesc() [1/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==3, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeGKCYXTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_strides )
inlinestatic

◆ MakeGKCYXTransposeDesc() [2/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==2, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeGKCYXTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_strides )
inlinestatic

◆ MakeGKCYXTransposeDesc() [3/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==1, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeGKCYXTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_strides )
inlinestatic

◆ MakeGKYXCTransposeDesc() [1/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==3, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeGKYXCTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_strides )
inlinestatic

◆ MakeGKYXCTransposeDesc() [2/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==2, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeGKYXCTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_strides )
inlinestatic

◆ MakeGKYXCTransposeDesc() [3/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==1, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeGKYXCTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_strides )
inlinestatic

◆ MakeNGCHWTransposeDesc() [1/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==3, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeNGCHWTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_strides,
const index_t split_n_size = 1 )
inlinestatic

◆ MakeNGCHWTransposeDesc() [2/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==2, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeNGCHWTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_strides,
const index_t split_n_size = 1 )
inlinestatic

◆ MakeNGCHWTransposeDesc() [3/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==1, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeNGCHWTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_strides,
const index_t split_n_size = 1 )
inlinestatic

◆ MakeNHWGCTransposeDesc() [1/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==3, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeNHWGCTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_strides,
const index_t split_n_size = 1 )
inlinestatic

◆ MakeNHWGCTransposeDesc() [2/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==2, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeNHWGCTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_strides,
const index_t split_n_size = 1 )
inlinestatic

◆ MakeNHWGCTransposeDesc() [3/3]

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
template<ck::index_t NDim, typename ck::enable_if< NDim==1, bool >::type = false>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::MakeNHWGCTransposeDesc ( const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_n_c_wis_strides,
const index_t split_n_size = 1 )
inlinestatic

◆ TransposeInOutStrides()

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::TransposeInOutStrides ( const std::array< index_t, NDimSpatial+3 > & g_n_c_wis_lengths,
const std::array< index_t, NDimSpatial+3 > & g_n_c_wis_strides )
inlinestatic

◆ TransposeWeiStrides()

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::TransposeWeiStrides ( const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_lengths,
const std::array< ck::index_t, NDimSpatial+3 > & g_k_c_wis_strides )
inlinestatic

Member Data Documentation

◆ I0

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::I0 = Number<0>{}
staticconstexpr

◆ I1

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::I1 = Number<1>{}
staticconstexpr

◆ I2

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::I2 = Number<2>{}
staticconstexpr

◆ I3

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::I3 = Number<3>{}
staticconstexpr

◆ I4

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::I4 = Number<4>{}
staticconstexpr

◆ I5

template<typename ALayout, typename BLayout, typename ELayout, index_t NDimSpatial, index_t MPerThread, index_t NPerThread>
auto ck::tensor_operation::TransformConvNGCHWToNHWGC< ALayout, BLayout, ELayout, NDimSpatial, MPerThread, NPerThread >::I5 = Number<5>{}
staticconstexpr

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