cuda::experimental::stf::frozen_logical_data#

template<typename T>
class frozen_logical_data#

Frozen logical data are logical data which can be accessed outside tasks.

They are created using ctx.freeze, which returns a frozen_logical_data object. The get() and unfreeze() method allow to get an instance of the frozen data that is valid until unfreeze is called.

Public Functions

inline frozen_logical_data(
backend_ctx_untyped bctx,
logical_data<T> ld,
access_mode m,
data_place place,
bool user_freeze,
)#
frozen_logical_data() = default#
frozen_logical_data(const frozen_logical_data &other) = default#
frozen_logical_data(frozen_logical_data &&other) noexcept = default#
frozen_logical_data &operator=(
const frozen_logical_data &other,
) = default#
frozen_logical_data &operator=(
frozen_logical_data &&other,
) noexcept = default#
inline ::std::pair<T, event_list> get(data_place place)#
inline T get(data_place place, cudaStream_t stream)#
inline void unfreeze(event_list prereqs)#
inline void unfreeze(cudaStream_t stream)#
inline frozen_logical_data &set_automatic_unfreeze(bool flag = true)#
inline access_mode get_access_mode() const#
inline int freeze_fake_task_id() const#
inline int unfreeze_fake_task_id() const#