dynamic_buffer.hpp Source File#
dynamic_buffer.hpp
Go to the documentation of this file.
472__host__ __device__ constexpr auto make_dynamic_buffer(T* p, ElementSpaceSize element_space_size)
Definition ck.hpp:268
__device__ void amd_buffer_store(const typename vector_type_maker< T, N >::type::type src_thread_data, T *p_dst_wave, const index_t dst_thread_element_offset, const bool dst_thread_element_valid, const index_t dst_element_space_size)
Definition utility/amd_buffer_addressing.hpp:894
__device__ void amd_direct_load_global_to_lds(const T *global_base_ptr, const index_t global_offset, T *lds_base_ptr, const index_t lds_offset, const bool is_valid, const index_t src_element_space_size)
Definition utility/amd_buffer_addressing.hpp:1015
__device__ void amd_buffer_atomic_max(const typename vector_type_maker< T, N >::type::type src_thread_data, T *p_dst_wave, const index_t dst_thread_element_offset, const bool dst_thread_element_valid, const index_t dst_element_space_size)
Definition utility/amd_buffer_addressing.hpp:974
@ DefaultCoherence
Definition utility/amd_buffer_addressing.hpp:296
__device__ vector_type_maker< T, N >::type::type amd_buffer_load_invalid_element_return_customized_value(const T *p_src_wave, index_t src_thread_element_offset, bool src_thread_element_valid, index_t src_element_space_size, T customized_value)
Definition utility/amd_buffer_addressing.hpp:865
__host__ __device__ PY c_style_pointer_cast(PX p_x)
Definition c_style_pointer_cast.hpp:15
__device__ X atomic_max(X *p_dst, const X &x)
__host__ __device__ constexpr Y type_convert(X x)
Definition utility/type_convert.hpp:98
__device__ void amd_buffer_atomic_add(const typename vector_type_maker< T, N >::type::type src_thread_data, T *p_dst_wave, const index_t dst_thread_element_offset, const bool dst_thread_element_valid, const index_t dst_element_space_size)
Definition utility/amd_buffer_addressing.hpp:928
__host__ __device__ constexpr auto make_long_dynamic_buffer(T *p, ElementSpaceSize element_space_size)
Definition dynamic_buffer.hpp:482
__device__ vector_type_maker< T, N >::type::type amd_buffer_load_invalid_element_return_zero(const T *p_src_wave, index_t src_thread_element_offset, bool src_thread_element_valid, index_t src_element_space_size)
Definition utility/amd_buffer_addressing.hpp:829
__device__ X atomic_add(X *p_dst, const X &x)
__host__ __device__ constexpr auto make_dynamic_buffer(T *p, ElementSpaceSize element_space_size)
Definition dynamic_buffer.hpp:472
Definition dynamic_buffer.hpp:31
ElementSpaceSize element_space_size_
Definition dynamic_buffer.hpp:35
__host__ __device__ constexpr DynamicBuffer(T *p_data, ElementSpaceSize element_space_size, T invalid_element_value)
Definition dynamic_buffer.hpp:54
__host__ __device__ void Update(IndexType i, bool is_valid_element, const X &x)
Definition dynamic_buffer.hpp:159
__host__ static __device__ constexpr AddressSpaceEnum GetAddressSpace()
Definition dynamic_buffer.hpp:63
__host__ __device__ void AtomicAdd(IndexType i, bool is_valid_element, const X &x)
Definition dynamic_buffer.hpp:377
__host__ __device__ constexpr const T & operator[](IndexType i) const
Definition dynamic_buffer.hpp:68
__host__ __device__ constexpr auto Get(IndexType i, bool is_valid_element) const
Definition dynamic_buffer.hpp:78
__host__ static __device__ constexpr bool IsStaticBuffer()
Definition dynamic_buffer.hpp:463
__host__ __device__ void DirectCopyToLds(DstBuffer &dst_buf, IndexType src_offset, IndexType dst_offset, bool is_valid_element) const
Definition dynamic_buffer.hpp:209
__host__ __device__ void Set(IndexType i, bool is_valid_element, const X &x)
Definition dynamic_buffer.hpp:233
__host__ static __device__ constexpr bool IsDynamicBuffer()
Definition dynamic_buffer.hpp:465
__host__ __device__ constexpr DynamicBuffer(T *p_data, ElementSpaceSize element_space_size)
Definition dynamic_buffer.hpp:49
__host__ __device__ constexpr T & operator()(IndexType i)
Definition dynamic_buffer.hpp:70
__host__ __device__ void AtomicMax(IndexType i, bool is_valid_element, const X &x)
Definition dynamic_buffer.hpp:430
Definition type.hpp:177
Definition data_type.hpp:187
Definition data_type.hpp:39
Definition functional2.hpp:33
Definition dtype_vector.hpp:10