cuda::experimental::stf::logical_data

Defined in include/cuda/experimental/__stf/internal/frozen_logical_data.cuh

template<class T>
class logical_data

Represents typed logical data.

Template Parameters

T – The type of the underlying data.

Execution place getter

inline const shape_t &shape() const

Instance getter for a given instance or the default instance

inline decltype(auto) instance(instance_id_t instance_id)
inline decltype(auto) instance(task &tp)

Assign a symbolic name for this object

inline logical_data &set_symbol(::std::string str)

Select a custom allocator for this logical data

inline logical_data &set_allocator(block_allocator_untyped custom_allocator)

Get hash value

inline size_t hash() const

Return a task_dep<T> object for reading and/or writing this logical data.

tparam Pack

Additional parameter types for task_dep<T>’s constructor, if any

param pack

Additional arguments for task_dep<T>’s constructor, if any

return

task_dep<T> The object encapsulating access

template<typename ...Pack>
inline auto read(Pack&&... pack) const
template<typename ...Pack>
inline task_dep<T> write(Pack&&... pack)
template<typename ...Pack>
inline task_dep<T> rw(Pack&&... pack)
template<typename ...Pack>
inline task_dep<T> relaxed(Pack&&... pack)

Public Types

using element_type = T

Alias for T

using shape_t = shape_of<T>

Alias for shape_of<T>

Public Functions

logical_data() = default

Default constructor.

inline logical_data(logical_data_untyped &&u)

Constructor from an untyped logical data.

Warning : no checks are done to ensure the type used to create the untyped logical data matches, it is the responsability of the caller to ensure this is a valid conversion

template<typename U>
inline logical_data(backend_ctx_untyped ctx, ::std::shared_ptr<U> instance, data_place dp)

Constructor.

Template Parameters

U – Backend type

Parameters
  • ctx – Backend context

  • instance – Reference instance used for initializing this logical data

  • dp – Data place

  • data_prereq