cuda::experimental::stf::stackable_task_dep#

template<typename T, typename reduce_op, bool initialize>
class stackable_task_dep#

Task dependency specification for a stackable logical data.

This is a lazy descriptor that stores the data, access mode, and data place. The actual task_dep is only created when resolve() is called with the correct context offset, ensuring it always references the right logical data level.

Public Types

enum [anonymous]#

Values:

enumerator does_work = !::std::is_same_v<reduce_op, ::std::monostate>#
using data_t = T#
using dep_type = T#
using op_and_init = ::std::pair<reduce_op, ::std::bool_constant<initialize>>#
using op_type = reduce_op#

Public Functions

inline stackable_task_dep(
stackable_logical_data<T> _d,
access_mode _mode,
data_place _dplace = data_place::affine()
)#
inline operator task_dep<T, reduce_op, initialize>() const#
inline const stackable_logical_data<T> &get_d() const#
inline access_mode get_access_mode() const#
inline const data_place &get_dplace() const#
inline task_dep<T, reduce_op, initialize> resolve(
int context_offset
) const#