2 #include <driver_types.h> 4 #include <unordered_map> 5 #include <unordered_set> 8 #include <muda/mstl/span.h> 9 #include <muda/compute_graph/compute_graph_flag.h> 10 #include <muda/compute_graph/compute_graph_fwd.h> 11 #include <muda/compute_graph/graphviz_options.h> 17 using S = std::shared_ptr<T>;
23 S<ComputeGraph> create_graph(std::string_view name =
"graph",
24 ComputeGraphFlag flags = {});
39 bool is_using()
const;
41 void sync_on(cudaStream_t stream)
const;
43 template <
typename... T>
45 template <
typename... T>
47 template <
typename... T>
50 bool is_using(
const span<const ComputeGraphVarBase*> vars)
const;
51 void sync(
const span<const ComputeGraphVarBase*> vars)
const;
52 void sync_on(cudaStream_t stream,
const span<const ComputeGraphVarBase*> vars)
const;
54 const auto& graphs()
const {
return m_graphs; }
61 std::vector<ComputeGraph*> unique_graphs(span<const ComputeGraphVarBase*> vars)
const;
62 std::unordered_map<std::string, ComputeGraphVarBase*> m_vars_map;
63 std::vector<ComputeGraphVarBase*> m_vars;
64 std::unordered_set<ComputeGraph*> m_graphs;
65 span<const ComputeGraphVarBase*> var_span()
const;
69 #include "details/compute_graph_var_manager.inl" Definition: compute_graph_var_manager.h:14
Definition: buffer_launch.h:34
Definition: compute_graph_node.h:12
Definition: graphviz_options.h:5
Definition: compute_graph.h:37
Definition: compute_graph_closure.h:14