cuda::experimental::stf::async_resources_handle#

class async_resources_handle#

A handle which stores resources useful for an efficient asynchronous execution.

For example this will store the pools of CUDA streams.

This class relies on a PIMPL idiom and can be passed by value. Creating a new object of this type does not initialize any resource, as these will be set lazily.

Public Functions

inline async_resources_handle()#
inline explicit async_resources_handle(::std::nullptr_t)#
inline explicit operator bool() const#
inline bool validate_sync_and_update(
unsigned long long dst,
unsigned long long src,
int event_id
)#
inline ::cuda::std::pair<::std::shared_ptr<cudaGraphExec_t>, bool> cached_graphs_query(
size_t nnodes,
size_t nedges,
::std::shared_ptr<cudaGraph_t> g
)#
inline auto &gc_helper(int dev_id)#
inline ::std::shared_ptr<green_context_helper> get_gc_helper(
int dev_id,
int sm_count
)#
inline void register_gc_helper(
int dev_id,
::std::shared_ptr<green_context_helper> helper
)#
inline exec_affinity &get_affinity()#
inline const exec_affinity &get_affinity() const#
inline bool has_affinity() const#
inline void push_affinity(
::std::vector<::std::shared_ptr<exec_place>> p
) const#
inline void push_affinity(::std::shared_ptr<exec_place> p) const#
inline void pop_affinity() const#
inline const ::std::vector<::std::shared_ptr<exec_place>> &current_affinity(
) const#