use hipGraphExec_t;
use ManagedMemoryHandle;
/// An instantiated HIP executable graph (`hipGraphExec_t`), destroyed on drop.
///
/// Owned by the [`HipServer`](super::server::HipServer) registry and referenced
/// by [`GraphId`](cubecl_runtime::id::GraphId); the raw handle never leaves the
/// server actor, which serializes access, so it is only ever touched on the one
/// thread allowed to. The client references the graph by id and, on the last
/// drop, asks the actor to release it — `graph_destroy` syncs the stream first
/// so the executable is never destroyed while a replay is still running.