cuda::experimental::stf::task_dep

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

template<typename T>
class task_dep : public cuda::experimental::stf::task_dep_untyped

Type storing dependency information for one data item, including the data type.

Template Parameters

<tt>T</tt> – The user-level type involved (e.g. slice<double> or slice<const double> for a contiguous array). Note that T may be different in const qualifiers than the actual type stored in the dependency information.

Public Types

using data_t = T

Public Functions

template<typename ...Pack>
inline task_dep(Pack&&... pack)
inline task_dep<T> as_read_mode() const
decltype(auto) instance(task&) const

Returns a reference to T if T is the same as the stored type, or an rvalue of type T if T has additional const qualifiers.

Returns

decltype(auto) T& or T

inline logical_data_untyped get_data() const
inline instance_id_t get_instance_id() const
inline task_dep_untyped as_read_mode_untyped() const
inline void set_instance_id(instance_id_t id)
inline access_mode get_access_mode() const
inline const data_place &get_dplace() const
inline ::std::shared_ptr<reduction_operator_base> get_redux_op() const
inline bool operator<(const task_dep_untyped &rhs) const
inline bool operator==(const task_dep_untyped &rhs) const
inline bool operator!=(const task_dep_untyped &rhs) const
inline void set_symbol(::std::string s) const
inline const ::std::string &get_symbol() const
inline void set_data_footprint(size_t f) const
inline size_t get_data_footprint() const
inline void reset_logical_data()

Public Members

int dependency_index = -1
bool skipped = false