image_to_column_kernel.hpp Source File#
image_to_column_kernel.hpp
Go to the documentation of this file.
Definition tile/core/algorithm/cluster_descriptor.hpp:13
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition type_traits.hpp:21
CK_TILE_HOST_DEVICE constexpr auto make_naive_tensor_view(DataType *__restrict__ p, const tuple< Lengths... > &lengths, const tuple< Strides... > &strides, number< GuaranteedLastDimensionVectorLength >=number<-1 >{}, number< GuaranteedLastDimensionVectorStride >=number<-1 >{})
Definition tensor_view.hpp:471
CK_TILE_HOST_DEVICE constexpr auto make_pass_through_transform(const LowLength &low_length)
Definition coordinate_transform.hpp:1558
__device__ uint32_t amd_wave_read_first_lane(uint16_t v)
Definition tile/core/arch/amd_buffer_addressing.hpp:35
CK_TILE_HOST_DEVICE constexpr auto make_tensor_view(DataType *__restrict__ p, const tensor_descriptor< Ts... > &desc)
Definition tensor_view.hpp:452
CK_TILE_HOST_DEVICE constexpr auto make_naive_tensor_descriptor(const tuple< Lengths... > &lengths, const tuple< Strides... > &strides, number< GuaranteedLastDimensionVectorLength >=number<-1 >{}, number< GuaranteedLastDimensionVectorStride >=number<-1 >{})
Definition tile/core/tensor/tensor_descriptor.hpp:274
CK_TILE_HOST_DEVICE constexpr auto make_merge_transform(const LowLengths &low_lengths)
Definition coordinate_transform.hpp:1615
CK_TILE_HOST_DEVICE constexpr auto make_pad_transform(const LowLength &low_length, const LeftPad &left_pad, const RightPad &right_pad, bool_constant< SkipIsValidCheck >=bool_constant< false >{})
Definition coordinate_transform.hpp:1565
CK_TILE_HOST_DEVICE constexpr auto transform_tensor_descriptor(const OldTensorDescriptor &old_tensor_desc, const NewTransforms &new_transforms, NewLowerDimensionOldTopIdss, NewUpperDimensionNewTopIdss)
Definition tile/core/tensor/tensor_descriptor.hpp:203
CK_TILE_DEVICE constexpr auto make_tile_window(null_tensor_view, const WindowLengths &window_lengths, const multi_index< WindowLengths::size()> &, Ts &&...)
Definition null_tile_window.hpp:75
CK_TILE_HOST_DEVICE constexpr auto integer_divide_ceil(X x, Y y)
Definition tile/core/numeric/math.hpp:149
CK_TILE_HOST_DEVICE constexpr auto pad_tensor_view(const TensorView &tensor_view, const TileLengths &tile_lengths, DoPads)
Definition tensor_view.hpp:530
CK_TILE_DEVICE void store_tile(tile_window_with_static_lengths< BottomTensorView_, WindowLengths_ > &tile_window_tmp, const static_distributed_tensor< DataType_, TileDistribution_ > &dstr_tensor)
Definition store_tile.hpp:23
CK_TILE_HOST_DEVICE constexpr auto make_static_tile_distribution(StaticTileDistributionEncoding_)
Definition tile_distribution.hpp:480
CK_TILE_DEVICE auto load_tile(const TileWindow_ &tile_window, number< i_access >={}, bool_constant< oob_conditional_check >={})
Definition load_tile.hpp:22
CK_TILE_HOST_DEVICE constexpr auto make_tuple(Xs &&... xs)
Definition tile/core/container/tuple.hpp:360
CK_TILE_HOST_DEVICE constexpr auto make_embed_transform(const UpLengths &up_lengths, const Coefficients &coefficients)
Definition coordinate_transform.hpp:1594
Definition image_to_column_kernel.hpp:37
const array< long_index_t, NDimSpatial > input_right_pads
Definition image_to_column_kernel.hpp:53
const array< long_index_t, NDimSpatial > conv_filter_strides
Definition image_to_column_kernel.hpp:50
const array< long_index_t, NDimSpatial > conv_filter_dilations
Definition image_to_column_kernel.hpp:51
const array< long_index_t, NDimSpatial+3 > image_g_n_c_wis_strides
Definition image_to_column_kernel.hpp:48
const array< long_index_t, NDimSpatial > filter_spatial_lengths
Definition image_to_column_kernel.hpp:46
const array< long_index_t, NDimSpatial > input_left_pads
Definition image_to_column_kernel.hpp:52
const array< long_index_t, 3 > gemm_g_m_k_strides
Definition image_to_column_kernel.hpp:49
const array< long_index_t, NDimSpatial > input_spatial_lengths
Definition image_to_column_kernel.hpp:45
const array< long_index_t, NDimSpatial > output_spatial_lengths
Definition image_to_column_kernel.hpp:47
Definition image_to_column_kernel.hpp:13
CK_TILE_DEVICE auto MakeImageMKDesc(const Kargs &kargs) const
Definition image_to_column_kernel.hpp:96
static CK_TILE_HOST constexpr auto BlockSize()
Definition image_to_column_kernel.hpp:94
CK_TILE_DEVICE void ConvTensorRearrange(const Kargs &kargs) const
Definition image_to_column_kernel.hpp:174
static constexpr index_t kBlockSize
Definition image_to_column_kernel.hpp:34
remove_cvref_t< typename Problem::InDataType > InDataType
Definition image_to_column_kernel.hpp:22
remove_cvref_t< Problem_ > Problem
Definition image_to_column_kernel.hpp:20
static constexpr index_t AligmentOut
Definition image_to_column_kernel.hpp:28
static constexpr index_t AligmentIn
Definition image_to_column_kernel.hpp:27
static CK_TILE_HOST constexpr 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)
Definition image_to_column_kernel.hpp:57
static CK_TILE_HOST constexpr auto GridSize(index_t GemmM, index_t GemmK, index_t Batch)
Definition image_to_column_kernel.hpp:88
CK_TILE_DEVICE void operator()(Kargs &kargs) const
Definition image_to_column_kernel.hpp:222
static constexpr index_t kKPerBlock
Definition image_to_column_kernel.hpp:33
remove_cvref_t< typename Problem::OutDataType > OutDataType
Definition image_to_column_kernel.hpp:23
CK_TILE_DEVICE auto CalculateMKDims(const Kargs &kargs) const
Definition image_to_column_kernel.hpp:148
static constexpr index_t kMPerBlock
Definition image_to_column_kernel.hpp:32
static constexpr index_t NDimSpatial
Definition image_to_column_kernel.hpp:25
static CK_TILE_DEVICE constexpr auto MakeBlockTileDistribution()
Definition image_to_column_kernel.hpp:158
A fixed-size array container similar to std::array with additional utilities.
Definition tile/core/container/array.hpp:43
Definition tile/core/container/sequence.hpp:49
Definition tile_distribution_encoding.hpp:26
Definition tile/core/container/tuple.hpp:192