tensor_view.hpp Source File#
tensor_view.hpp
Go to the documentation of this file.
Definition tile/core/algorithm/cluster_descriptor.hpp:13
CK_TILE_HOST_DEVICE constexpr auto make_naive_tensor_descriptor_packed(const tuple< Lengths... > &lengths, number< GuaranteedLastDimensionVectorLength >=number<-1 >{})
Definition tile/core/tensor/tensor_descriptor.hpp:371
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
constexpr auto conditional_expr(X &&x, Y &&y)
Definition tile/core/utility/functional.hpp:220
CK_TILE_HOST_DEVICE constexpr auto make_pass_through_transform(const LowLength &low_length)
Definition coordinate_transform.hpp:1558
typename std::remove_reference< T >::type remove_reference_t
Definition type_traits.hpp:15
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
constant< b > bool_constant
Definition tile/core/numeric/integral_constant.hpp:43
amd_buffer_coherence_enum
Definition tile/core/arch/amd_buffer_addressing.hpp:1404
@ coherence_default
Definition tile/core/arch/amd_buffer_addressing.hpp:1405
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_HOST_DEVICE constexpr bool coordinate_has_valid_offset_assuming_top_index_is_valid(const TensorDesc &tensor_desc, const TensorCoord &coord)
Definition tensor_coordinate.hpp:79
CK_TILE_HOST_DEVICE constexpr auto generate_tuple(F &&f, number< N >)
Definition tile/core/container/tuple.hpp:429
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_HOST_DEVICE constexpr auto transform_tensor_view(const OldTensorView &old_tensor_view, const NewTransforms &new_transforms, NewLowerDimensionOldVisibleIdss, NewUpperDimensionNewVisibleIdss)
Definition tensor_view.hpp:511
CK_TILE_HOST_DEVICE constexpr auto make_right_pad_transform(const LowLength &low_length, const RightPadLength &right_pad_, bool_constant< SkipIsValidCheck >=bool_constant< false >{})
Definition coordinate_transform.hpp:1584
CK_TILE_HOST_DEVICE constexpr auto make_buffer_view(T *__restrict__ p, BufferSizeType buffer_size)
Definition buffer_view.hpp:1262
CK_TILE_HOST_DEVICE constexpr auto make_tensor_coordinate(const TensorDesc &tensor_desc, const TopIndex &idx_top)
Definition tensor_coordinate.hpp:60
CK_TILE_HOST_DEVICE constexpr auto make_naive_tensor_view_packed(DataType *__restrict__ p, const tuple< Lengths... > &lengths, number< GuaranteedLastDimensionVectorLength >=number<-1 >{})
Definition tensor_view.hpp:494
A fixed-size array container similar to std::array with additional utilities.
Definition tile/core/container/array.hpp:43
Definition buffer_view.hpp:35
Definition tensor_view.hpp:444
Definition tile/core/numeric/numeric.hpp:81
Definition tile/core/container/sequence.hpp:49
Definition tile/core/tensor/tensor_descriptor.hpp:34
CK_TILE_HOST_DEVICE constexpr auto get_element_space_size() const
Definition tile/core/tensor/tensor_descriptor.hpp:96
Definition tensor_view.hpp:41
CK_TILE_HOST_DEVICE constexpr auto & get_tensor_descriptor() const
Definition tensor_view.hpp:61
CK_TILE_HOST_DEVICE constexpr void async_get_vectorized_elements_raw(remove_cvref_t< DataType > *smem, const TensorCoord &coord, index_t linear_offset, bool is_valid_element, bool_constant< pre_nop >={}) const
Definition tensor_view.hpp:243
CK_TILE_HOST_DEVICE constexpr tensor_view()=default
decltype(make_tensor_coordinate(TensorDesc{}, TensorIndex{})) TensorCoord
Definition tensor_view.hpp:46
CK_TILE_HOST_DEVICE constexpr void set_vectorized_elements_raw(const TensorCoord &coord, index_t linear_offset, bool is_valid_element, const X &x, bool_constant< oob_conditional_check >={})
Definition tensor_view.hpp:347
CK_TILE_HOST_DEVICE constexpr remove_cvref_t< X > get_transpose_vectorized_elements(const TensorCoord &coord, index_t linear_offset) const
Definition tensor_view.hpp:262
CK_TILE_HOST_DEVICE constexpr remove_cvref_t< X > get_vectorized_elements(const TensorCoord &coord, index_t linear_offset, bool_constant< oob_conditional_check >={}) const
Definition tensor_view.hpp:81
CK_TILE_HOST_DEVICE constexpr remove_cvref_t< X > get_vectorized_elements(const TensorCoord &coord, index_t linear_offset, bool is_valid_element, bool_constant< oob_conditional_check >={}) const
Definition tensor_view.hpp:99
CK_TILE_HOST_DEVICE constexpr const auto & get_buffer_view() const
Definition tensor_view.hpp:68
CK_TILE_HOST_DEVICE constexpr void set_vectorized_elements(const TensorCoord &coord, index_t linear_offset, const X &x, bool_constant< oob_conditional_check >={})
Definition tensor_view.hpp:292
static CK_TILE_HOST_DEVICE constexpr index_t get_num_of_dimension()
Definition tensor_view.hpp:63
array< index_t, TensorDesc::get_num_of_top_dimension()> TensorIndex
Definition tensor_view.hpp:45
CK_TILE_HOST_DEVICE void get_vectorized_elements_raw(remove_cvref_t< X > &dst, const TensorCoord &coord, index_t linear_offset, bool_constant< oob_conditional_check >={}, bool_constant< pre_nop >={}) const
Definition tensor_view.hpp:119
CK_TILE_HOST_DEVICE constexpr void update_vectorized_elements_raw(const TensorCoord &coord, index_t linear_offset, bool is_valid_element, const X &x, bool_constant< oob_conditional_check >={}, bool_constant< pre_nop >={})
Definition tensor_view.hpp:426
CK_TILE_HOST_DEVICE constexpr void async_get_vectorized_elements(CK_TILE_LDS_ADDR remove_cvref_t< DataType > *smem, const TensorCoord &coord, index_t linear_offset, bool is_valid_element, bool_constant< oob_conditional_check >={}) const
Definition tensor_view.hpp:182
CK_TILE_HOST_DEVICE constexpr void update_vectorized_elements_raw(const TensorCoord &coord, index_t linear_offset, const X &x, bool_constant< oob_conditional_check >={}, bool_constant< pre_nop >={})
Definition tensor_view.hpp:405
CK_TILE_HOST_DEVICE constexpr void set_vectorized_elements_raw(const TensorCoord &coord, index_t linear_offset, const X &x, bool_constant< oob_conditional_check >={})
Definition tensor_view.hpp:328
CK_TILE_HOST_DEVICE constexpr remove_cvref_t< X > get_transpose_vectorized_elements(const TensorCoord &coord, index_t linear_offset, bool is_valid_element) const
Definition tensor_view.hpp:276
CK_TILE_HOST_DEVICE constexpr auto & get_buffer_view()
Definition tensor_view.hpp:70
CK_TILE_HOST_DEVICE constexpr void async_get_vectorized_elements_raw(remove_cvref_t< DataType > *smem, const TensorCoord &coord, index_t coord_extra_offset, index_t linear_offset, bool_constant< pre_nop >={}) const
Definition tensor_view.hpp:222
CK_TILE_HOST_DEVICE constexpr void async_get_vectorized_elements(CK_TILE_LDS_ADDR remove_cvref_t< DataType > *smem, const TensorCoord &coord, index_t linear_offset, bool_constant< oob_conditional_check >={}) const
Definition tensor_view.hpp:162
CK_TILE_HOST_DEVICE constexpr void async_get_vectorized_elements_raw(remove_cvref_t< DataType > *smem, const TensorCoord &coord, index_t linear_offset, bool_constant< pre_nop >={}) const
Definition tensor_view.hpp:202
CK_TILE_HOST_DEVICE constexpr void update_vectorized_elements(const TensorCoord &coord, index_t linear_offset, const X &x, bool_constant< oob_conditional_check >={})
Definition tensor_view.hpp:366
CK_TILE_HOST_DEVICE constexpr tensor_view(const buffer_view &buffer_view, const TensorDesc &desc)
Definition tensor_view.hpp:53
CK_TILE_HOST_DEVICE void get_vectorized_elements_raw(remove_cvref_t< X > &dst, const TensorCoord &coord, index_t linear_offset, bool is_valid_element, bool_constant< oob_conditional_check >={}, bool_constant< pre_nop >={}) const
Definition tensor_view.hpp:140
CK_TILE_HOST_DEVICE constexpr void update_vectorized_elements(const TensorCoord &coord, index_t linear_offset, bool is_valid_element, const X &x, bool_constant< oob_conditional_check >={})
Definition tensor_view.hpp:385
CK_TILE_HOST_DEVICE constexpr void set_vectorized_elements(const TensorCoord &coord, index_t linear_offset, bool is_valid_element, const X &x, bool_constant< oob_conditional_check >={})
Definition tensor_view.hpp:311
remove_reference_t< BufferView_ > buffer_view
Definition tensor_view.hpp:42
remove_cvref_t< TensorDesc_ > TensorDesc
Definition tensor_view.hpp:44
Definition tile/core/container/tuple.hpp:192
Definition vector_type.hpp:90