|
kokkos-execution 0.0.1
|
Concepts | |
| concept | Closure |
| concept | connect_result_remains_on_graph_for |
| concept | graph_completing_sender |
| Concept for a sender whose completion scheduler is Kokkos::Execution::GraphImpl::Scheduler. | |
| concept | graph_operation_state_for |
| concept | NodeRef |
Constrain a type that is a specialization of Kokkos::Experimental::GraphNodeRef. | |
| concept | remains_on_graph_for |
Typedefs | |
| template<Kokkos::ExecutionSpace Exec, typename Label> | |
| using | node_props_t = typename Kokkos::Impl::NodeCtorProps<Kokkos::Impl::DeviceHandle<Exec>, Label>::uniform_type |
| template<Kokkos::ExecutionSpace Exec, typename Data> | |
| using | make_node_props_t = decltype(make_node_props(std::declval<const Exec&>(), std::declval<Data&&>())) |
| template<typename T> | |
| using | device_handle_of_t = typename decltype(device_handle_of(std::declval<const T&>()))::type |
| template<typename T> | |
| using | exec_of_t = typename ExecOf<T>::type |
| template<typename Sndr, typename Rcvr, typename... Clsrs> | |
| using | make_op_state_t = Impl::MakeOpState<Domain, OpState>::Huddle<Sndr, Rcvr, Clsrs...> |
| template<typename Sndr, typename Rcvr, typename... Clsrs> | |
| using | op_state_t = typename make_op_state_t<Sndr, Rcvr, Clsrs...>::type |
Functions | |
| template<typename Tag, typename Sndr, typename... Env> | |
| auto | no_graph_scheduler_in_env () noexcept |
| Show a better compile diagnostic when there is no Kokkos::Execution::GraphImpl::Scheduler found. | |
| template<NodeRef NodeType> | |
| auto * | get_graph_impl_ptr (const NodeType &node) noexcept |
| Retrieve the raw graph pointer from a node. | |
| template<NodeRef NodeType> | |
| auto * | get_node_ptr (const NodeType &node) noexcept |
| Retrieve the raw node pointer. | |
| template<Kokkos::ExecutionSpace Exec> | |
| void | graph_create_event (const Kokkos::Experimental::Graph< Exec > &graph) |
| Record a GraphCreateEvent event. | |
| template<Kokkos::ExecutionSpace Exec, typename... Args> | |
| auto | create_graph (const Kokkos::Impl::DeviceHandle< Exec > &device_handle, Args &&... args) |
| Create a graph and record the associated event with graph_create_event. | |
| template<typename Label, NodeRef Predecessor, NodeRef NodeType> | |
| void | graph_add_node_event (Label &&label, const Predecessor &predecessor, const NodeType &node) |
Record an event for a node added after predecessor. | |
| template<NodeRef NodeType, NodeRef... Predecessors> | |
| void | graph_add_aggregate_node_event (const NodeType &aggregate, const Predecessors &... predecessors) |
Record an event for an aggregate node added after predecessors. | |
| template<Kokkos::ExecutionSpace Exec> | |
| void | graph_instantiate_event (const Kokkos::Experimental::Graph< Exec > &graph) |
| Record a GraphInstantiateEvent event. | |
| template<Kokkos::ExecutionSpace Exec> | |
| void | graph_submit_event (const Kokkos::Experimental::Graph< Exec > &graph, const Exec &exec) |
| Record a GraphSubmitEvent event. | |
| template<Kokkos::ExecutionSpace Exec> | |
| void | submit_graph (const Kokkos::Experimental::Graph< Exec > &graph, const Exec &exec) |
| Submit a graph and record the associated event with graph_submit_event. | |
| template<Kokkos::ExecutionSpace Exec, typename Data> requires (Impl::labeled<std::remove_cvref_t<Data>>) | |
| constexpr auto | make_node_props (const Exec &exec, Data &&data) noexcept(noexcept(Kokkos::Experimental::node_props(Kokkos::Experimental::get_device_handle(exec), Impl::as_convertible_to_string(Impl::get_property< Impl::Label >(std::forward< Data >(data)))))) -> decltype(Kokkos::Experimental::node_props(Kokkos::Experimental::get_device_handle(exec), Impl::as_convertible_to_string(Impl::get_property< Impl::Label >(std::forward< Data >(data))))) |
| template<Kokkos::ExecutionSpace Exec, typename Data> | |
| constexpr auto | make_node_props (const Exec &exec, Data &&) noexcept(noexcept(Kokkos::Experimental::node_props(Kokkos::Experimental::get_device_handle(exec)))) -> decltype(Kokkos::Experimental::node_props(Kokkos::Experimental::get_device_handle(exec))) |
| template<Kokkos::ExecutionSpace Exec> | |
| auto | device_handle_of (const Kokkos::Impl::NodeCtorProp< Kokkos::Impl::DeviceHandle< Exec > > &) -> std::type_identity< Kokkos::Impl::DeviceHandle< Exec > > |
Retrieve the Kokkos::Impl::DeviceHandle type from a node properties type. | |
| template<typename T, typename PropsContainer> requires Kokkos::Impl::NodeProperties<std::remove_cvref_t<PropsContainer>> | |
| decltype(auto) | get_label_or_display_string_of (PropsContainer &&props) |
If the node properties contain a label, return it. Otherwise, use the display string of T. | |
| template<typename Predecessor, Closure FirstClosure> requires NodeRef<std::remove_cvref_t<Predecessor>> | |
| static auto | add_nodes (Predecessor &&predecessor, FirstClosure &&clsr) |
| Add all nodes as a sequence. Hence, only the first node may be added after the root node. | |
| template<typename Predecessor, Closure FirstClosure, Closure... RestOfClosures> requires NodeRef<std::remove_cvref_t<Predecessor>> && (sizeof...(RestOfClosures) > 0) | |
| static auto | add_nodes (Predecessor &&predecessor, FirstClosure &&clsr, RestOfClosures &&... clsrs) |
Variables | |
| constexpr get_graph_t | get_graph {} |
| constexpr get_node_t | get_node {} |
| using Kokkos::Execution::GraphImpl::device_handle_of_t = typename decltype(device_handle_of(std::declval<const T&>()))::type |
Definition at line 41 of file node_props.hpp.
| using Kokkos::Execution::GraphImpl::exec_of_t = typename ExecOf<T>::type |
Definition at line 55 of file node_props.hpp.
| using Kokkos::Execution::GraphImpl::make_node_props_t = decltype(make_node_props(std::declval<const Exec&>(), std::declval<Data&&>())) |
Definition at line 33 of file node_props.hpp.
| using Kokkos::Execution::GraphImpl::make_op_state_t = Impl::MakeOpState<Domain, OpState>::Huddle<Sndr, Rcvr, Clsrs...> |
Definition at line 317 of file operation_state.hpp.
| using Kokkos::Execution::GraphImpl::node_props_t = typename Kokkos::Impl::NodeCtorProps<Kokkos::Impl::DeviceHandle<Exec>, Label>::uniform_type |
Definition at line 19 of file node_props.hpp.
| using Kokkos::Execution::GraphImpl::op_state_t = typename make_op_state_t<Sndr, Rcvr, Clsrs...>::type |
Definition at line 320 of file operation_state.hpp.
|
static |
Add all nodes as a sequence. Hence, only the first node may be added after the root node.
Definition at line 173 of file operation_state.hpp.
References add_nodes().
|
static |
Definition at line 179 of file operation_state.hpp.
References add_nodes().
| auto Kokkos::Execution::GraphImpl::create_graph | ( | const Kokkos::Impl::DeviceHandle< Exec > & | device_handle, |
| Args &&... | args ) |
Create a graph and record the associated event with graph_create_event.
Definition at line 143 of file events.hpp.
References create_graph(), and graph_create_event().
| auto Kokkos::Execution::GraphImpl::device_handle_of | ( | const Kokkos::Impl::NodeCtorProp< Kokkos::Impl::DeviceHandle< Exec > > & | ) | -> std::type_identity< Kokkos::Impl::DeviceHandle< Exec > > |
Retrieve the Kokkos::Impl::DeviceHandle type from a node properties type.
References device_handle_of().
|
noexcept |
Retrieve the raw graph pointer from a node.
Definition at line 117 of file events.hpp.
References get_graph_impl_ptr().
| decltype(auto) Kokkos::Execution::GraphImpl::get_label_or_display_string_of | ( | PropsContainer && | props | ) |
If the node properties contain a label, return it. Otherwise, use the display string of T.
Definition at line 64 of file node_props.hpp.
References Kokkos::Execution::Impl::display_string_of(), and get_label_or_display_string_of().
|
noexcept |
Retrieve the raw node pointer.
Definition at line 123 of file events.hpp.
References get_node_ptr().
| void Kokkos::Execution::GraphImpl::graph_add_aggregate_node_event | ( | const NodeType & | aggregate, |
| const Predecessors &... | predecessors ) |
Record an event for an aggregate node added after predecessors.
Definition at line 166 of file events.hpp.
References Kokkos::utils::callbacks::dispatch(), get_graph_impl_ptr(), get_node_ptr(), and graph_add_aggregate_node_event().
| void Kokkos::Execution::GraphImpl::graph_add_node_event | ( | Label && | label, |
| const Predecessor & | predecessor, | ||
| const NodeType & | node ) |
Record an event for a node added after predecessor.
Definition at line 151 of file events.hpp.
References Kokkos::Execution::Impl::as_convertible_to_string(), Kokkos::utils::callbacks::dispatch(), get_graph_impl_ptr(), get_node_ptr(), graph_add_node_event(), and Kokkos::Execution::label().
| void Kokkos::Execution::GraphImpl::graph_create_event | ( | const Kokkos::Experimental::Graph< Exec > & | graph | ) |
Record a GraphCreateEvent event.
Definition at line 129 of file events.hpp.
References Kokkos::utils::callbacks::dispatch(), get_graph_impl_ptr(), Kokkos::utils::callbacks::get_next_event_id(), get_node_ptr(), and graph_create_event().
| void Kokkos::Execution::GraphImpl::graph_instantiate_event | ( | const Kokkos::Experimental::Graph< Exec > & | graph | ) |
Record a GraphInstantiateEvent event.
Definition at line 178 of file events.hpp.
References Kokkos::utils::callbacks::dispatch(), get_graph_impl_ptr(), and graph_instantiate_event().
| void Kokkos::Execution::GraphImpl::graph_submit_event | ( | const Kokkos::Experimental::Graph< Exec > & | graph, |
| const Exec & | exec ) |
Record a GraphSubmitEvent event.
Definition at line 186 of file events.hpp.
References Kokkos::utils::callbacks::dispatch(), get_graph_impl_ptr(), and graph_submit_event().
|
constexprnoexcept |
Definition at line 29 of file node_props.hpp.
References make_node_props().
|
constexprnoexcept |
Definition at line 23 of file node_props.hpp.
References Kokkos::Execution::Impl::as_convertible_to_string(), Kokkos::Execution::Impl::get_property(), and make_node_props().
|
noexcept |
Show a better compile diagnostic when there is no Kokkos::Execution::GraphImpl::Scheduler found.
Definition at line 31 of file diagnostics.hpp.
References no_graph_scheduler_in_env().
| void Kokkos::Execution::GraphImpl::submit_graph | ( | const Kokkos::Experimental::Graph< Exec > & | graph, |
| const Exec & | exec ) |
Submit a graph and record the associated event with graph_submit_event.
Definition at line 196 of file events.hpp.
References graph_submit_event(), and submit_graph().
|
inlineconstexpr |
Definition at line 17 of file get_graph.hpp.
|
inlineconstexpr |
Definition at line 15 of file get_node.hpp.