cuda::experimental::stf::stackable_logical_data#

template<typename T>
class stackable_logical_data#

Logical data type used in a stackable_ctx context type.

It should behaves exactly like a logical_data with additional API to import it across nested contexts.

Public Types

using element_type = T#

Alias for T - matches logical_data<T> convention.

Public Functions

stackable_logical_data() = default#
inline stackable_logical_data(
stackable_ctx sctx,
int ctx_offset,
bool ld_from_shape,
logical_data<T> ld,
bool can_export
)#
inline int get_data_root_offset() const#
inline const auto &get_ld(int offset) const#
inline auto &get_ld(int offset)#
inline int get_unique_id() const#
inline void push(
int ctx_offset,
access_mode m,
data_place where = data_place::invalid()
) const#
inline void push(
access_mode m,
data_place where = data_place::invalid()
) const#
inline auto read() const#
inline auto read(data_place dp) const#
inline auto write()#
inline auto write(data_place dp)#
inline auto rw()#
inline auto rw(data_place dp)#
template<typename Op>
inline auto reduce(Op)#
template<typename Op>
inline auto reduce(Op, data_place dp)#
template<typename Op>
inline auto reduce(Op, no_init)#
template<typename Op>
inline auto reduce(Op, no_init, data_place dp)#
inline auto dep_with_mode(access_mode m)#
inline auto dep_with_mode(access_mode m, data_place dp)#
inline auto shape() const#
inline auto &set_symbol(::std::string symbol)#
inline void set_write_back(bool flag)#
inline void set_read_only(bool flag = true)#
inline bool is_read_only() const#
inline auto get_symbol() const#
inline auto get_impl()#
inline auto get_impl() const#
inline bool validate_access(
int ctx_offset,
const stackable_ctx &sctx,
access_mode m
) const#