include/ck_tile/core/tensor/tensor_view.hpp Source File#
tensor_view.hpp
Go to the documentation of this file.
auto transform(InputRange &&range, OutputIterator iter, UnaryOperation unary_op) -> decltype(std::transform(std::begin(range), std::end(range), iter, unary_op))
Definition: algorithm.hpp:36
Definition: cluster_descriptor.hpp:13
constexpr CK_TILE_HOST_DEVICE auto make_right_pad_transform(const LowLength &low_length, const RightPadLength &right_pad_, bool_constant< SkipIsValidCheck >=bool_constant< false >{})
Definition: coordinate_transform.hpp:1641
constexpr CK_TILE_HOST_DEVICE auto make_naive_tensor_descriptor(const tuple< Lengths... > &lengths, const tuple< Strides... > &strides, number< GuaranteedLastDimensionVectorLength >=number<-1 >{}, number< GuaranteedLastDimensionVectorStride >=number<-1 >{})
Definition: tensor_descriptor.hpp:255
constexpr CK_TILE_HOST_DEVICE auto integer_divide_ceil(X x, Y y)
Definition: math.hpp:149
constexpr CK_TILE_HOST_DEVICE auto make_naive_tensor_view(DataType *p, const tuple< Lengths... > &lengths, const tuple< Strides... > &strides, number< GuaranteedLastDimensionVectorLength >=number<-1 >{}, number< GuaranteedLastDimensionVectorStride >=number<-1 >{})
Definition: tensor_view.hpp:424
constexpr CK_TILE_HOST_DEVICE auto transform_tensor_view(const OldTensorView &old_tensor_view, const NewTransforms &new_transforms, NewLowerDimensionOldVisibleIdss, NewUpperDimensionNewVisibleIdss)
Definition: tensor_view.hpp:461
constexpr CK_TILE_HOST_DEVICE auto pad_tensor_view(const TensorView &tensor_view, const TileLengths &tile_lengths, DoPads)
Definition: tensor_view.hpp:480
constexpr CK_TILE_HOST_DEVICE auto make_pass_through_transform(const LowLength &low_length)
Definition: coordinate_transform.hpp:1615
constexpr CK_TILE_HOST_DEVICE auto make_tensor_coordinate(const TensorDesc &tensor_desc, const TopIndex &idx_top)
Definition: tensor_coordinate.hpp:60
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition: type_traits.hpp:20
constexpr CK_TILE_HOST_DEVICE bool coordinate_has_valid_offset_assuming_top_index_is_valid(const TensorDesc &tensor_desc, const TensorCoord &coord)
Definition: tensor_coordinate.hpp:79
constexpr CK_TILE_HOST_DEVICE auto transform_tensor_descriptor(const OldTensorDescriptor &old_tensor_desc, const NewTransforms &new_transforms, NewLowerDimensionOldTopIdss, NewUpperDimensionNewTopIdss)
Definition: tensor_descriptor.hpp:184
constexpr CK_TILE_HOST_DEVICE auto make_naive_tensor_descriptor_packed(const tuple< Lengths... > &lengths, number< GuaranteedLastDimensionVectorLength >=number<-1 >{})
Definition: tensor_descriptor.hpp:352
constexpr CK_TILE_HOST_DEVICE auto make_tensor_view(DataType *p, const tensor_descriptor< Ts... > &desc)
Definition: tensor_view.hpp:407
constexpr CK_TILE_HOST_DEVICE auto generate_tuple(F &&f, number< N >)
Definition: tuple.hpp:400
typename std::remove_reference< T >::type remove_reference_t
Definition: type_traits.hpp:14
@ generic
constexpr CK_TILE_HOST_DEVICE auto make_naive_tensor_view_packed(DataType *p, const tuple< Lengths... > &lengths, number< GuaranteedLastDimensionVectorLength >=number<-1 >{})
Definition: tensor_view.hpp:445
Definition: array.hpp:24
Definition: buffer_view.hpp:33
Definition: integral_constant.hpp:13
Definition: tensor_view.hpp:401
Definition: sequence.hpp:52
Definition: tensor_descriptor.hpp:34
constexpr CK_TILE_HOST_DEVICE auto get_element_space_size() const
Definition: tensor_descriptor.hpp:96
Definition: tensor_view.hpp:41
constexpr CK_TILE_HOST_DEVICE void set_vectorized_elements(const TensorCoord &coord, index_t linear_offset, const X &x, bool_constant< oob_conditional_check >={})
Definition: tensor_view.hpp:233
constexpr CK_TILE_HOST_DEVICE tensor_view()=default
constexpr CK_TILE_HOST_DEVICE 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:346
decltype(make_tensor_coordinate(TensorDesc{}, TensorIndex{})) TensorCoord
Definition: tensor_view.hpp:46
constexpr CK_TILE_HOST_DEVICE 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:288
constexpr CK_TILE_HOST_DEVICE 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:194
constexpr CK_TILE_HOST_DEVICE void update_vectorized_elements(const TensorCoord &coord, index_t linear_offset, const X &x, bool_constant< oob_conditional_check >={})
Definition: tensor_view.hpp:307
constexpr CK_TILE_HOST_DEVICE 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:252
constexpr CK_TILE_HOST_DEVICE 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:367
constexpr CK_TILE_HOST_DEVICE auto & get_buffer_view()
Definition: tensor_view.hpp:68
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:117
constexpr CK_TILE_HOST_DEVICE 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) const
Definition: tensor_view.hpp:175
constexpr CK_TILE_HOST_DEVICE 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:326
constexpr CK_TILE_HOST_DEVICE void set_vectorized_elements_raw(const TensorCoord &coord, index_t linear_offset, const X &x, bool_constant< oob_conditional_check >={})
Definition: tensor_view.hpp:269
constexpr CK_TILE_HOST_DEVICE const auto & get_buffer_view() const
Definition: tensor_view.hpp:66
constexpr CK_TILE_HOST_DEVICE tensor_view(const buffer_view &buffer_view, const TensorDesc &desc)
Definition: tensor_view.hpp:51
constexpr CK_TILE_HOST_DEVICE 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:214
constexpr CK_TILE_HOST_DEVICE 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:97
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:138
constexpr CK_TILE_HOST_DEVICE auto & get_tensor_descriptor() const
Definition: tensor_view.hpp:59
constexpr CK_TILE_HOST_DEVICE remove_cvref_t< X > get_vectorized_elements(const TensorCoord &coord, index_t linear_offset, bool_constant< oob_conditional_check >={}) const
Definition: tensor_view.hpp:79
static constexpr CK_TILE_HOST_DEVICE index_t get_num_of_dimension()
Definition: tensor_view.hpp:61
remove_reference_t< BufferView_ > buffer_view
Definition: tensor_view.hpp:42
constexpr CK_TILE_HOST_DEVICE void async_get_vectorized_elements(CK_TILE_LDS_ADDR remove_cvref_t< DataType > *smem, const TensorCoord &coord, index_t linear_offset) const
Definition: tensor_view.hpp:156
remove_cvref_t< TensorDesc_ > TensorDesc
Definition: tensor_view.hpp:44
Definition: tuple.hpp:192
Definition: vector_type.hpp:60