|
kokkos-execution 0.0.1
|
stdexec::when_all with two branches on Kokkos::Execution::ExecutionSpaceContext, followed by work without any explicit scheduler provided. stdexec::transfer_when_all does not forward the scheduler to its input senders. stdexec::when_all does not forward the scheduler to its input senders. experimental::execution::static_thread_pool scheduler. stdexec::completion_signatures checks for set equality. bulk. stdexec::bulk properly forwards forwarding queries. then and a sync_wait following a continues_on properly use the execution space instance. continues_on is properly customized (with appropriate synchronization) when transitioning from one execution space instance to another (of different type). continues_on is properly customized (with appropriate synchronization) when transitioning from one execution space instance to another (of the same type). continues_on is properly customized (with appropriate synchronization) when using it many times on the same execution space instance. apply_sender for stdexec::sync_wait_t. stdexec::bulk_t sender. stdexec::then_t sender. stdexec::bulk_t (since it customizes it). It won't interact with other domains inheriting from the stdexec::default_domain.
It will always be non-default-like for stdexec::then_t (since it customizes it).
experimental::execution::ensure_started. experimental::execution::fork_join after a stdexec::continues_on and a stdexec::bulk. experimental::execution::fork_join after a stdexec::continues_on. experimental::execution::fork_join to produce a diamond-like topology. stdexec::inline_scheduler to Kokkos::Execution::ExecutionSpaceContext and back. stdexec::inline_scheduler to Kokkos::Execution::ExecutionSpaceContext. experimtnal::execution::static_thread_pool to Kokkos::Execution::ExecutionSpaceContext and back. experimental::execution::static_thread_pool to Kokkos::Execution::ExecutionSpaceContext. stdexec::inline_scheduler. experimental::execution::static_thread_pool and back. experimental::execution::static_thread_pool. stdexec::let_value to keep a "scratch" Kokkos view alive during the computations. on, using different execution space instances of different types. on, using different execution space instances of the same type. on, using the same execution space instance. stdexec::starts_on works. Our customization is not selected. No value channel is added, such that it is not sync-waitable.
Check Kokkos::Execution::parallel_for with a team policy.
experimental:execution::repeat_until. Kokkos::Execution::ExecutionSpaceImpl::Scheduler models the stdexec::scheduler concept.
Check that querying the completion scheduler from a schedule sender of a scheduler returns the scheduler.
experimental::execution::split and stdexec::sync_wait right after. stdexec::when_all that executes on Kokkos::Execution::ExecutionSpaceContext must synchronize before calling stdexec::set_value of the "end of the branch receiver". stdexec::sync_wait of Kokkos::Execution::ExecutionSpaceContext properly rethrows if needed. Check whether the sender can be nothrow applied.
Check that calling stdexec::sync_wait on a sender that does not have any operation in it will not result in a spurious fence.
stdexec::continues_on. Our customization is not selected. No value channel is added, such that it is not sync-waitable.
Check construction of operation state from a parallel for sender when passing the sender as a const reference.
Check construction of operation state from a parallel for sender when passing the sender as a const reference.
Kokkos::Execution::ExecutionSpaceImpl::OpState. stdexec::schedule_from. stdexec::get_env query on Kokkos::Execution::ExecutionSpaceImpl::Scheduler::Sender returns Kokkos::Execution::ExecutionSpaceImpl::Scheduler::Sender::Attributes. schedule method of Kokkos::Execution::ExecutionSpaceImpl::Scheduler returns Kokkos::Execution::ExecutionSpaceImpl::Scheduler::Sender. Check noexcept specification of sender transformation.
Check traits of sender returned by bulk when customized for Kokkos::Execution::ExecutionSpaceImpl::Domain.
Check traits of sender returned by Kokkos::Execution::parallel_for either uncustomized or customized for Kokkos::Execution::ExecutionSpaceContext.
Check traits of sender returned by Kokkos::Execution::Profiling::scoped_region.
Check traits of sender returned by stdexec::then when customized for Kokkos::Execution::ExecutionSpaceImpl::Domain.
Kokkos parallel region, it is properly caught and propagated in the error channel. stdexec::then properly forwards forwarding queries. Kokkos::View is captured in a chain of work. Our customization is not selected. No value channel is added, such that it is not sync-waitable.
Check that Kokkos::Execution::ExecutionSpaceContext does its duty well when used with stdexec::then within a chain started with stdexec::schedule.
starts_on. stdexec::then on instance A. stdexec::when_all with no branch is equivalent to stdexec::just(). stdexec::when_all(sndr) with a single branch is equivalent to auto(sndr). stdexec::when_all customization by creating many branches, each starting in a dedicated experimental::execution::single_thread_context, using its own Kokkos::Execution::ExecutionSpaceContext. stdexec::when_all. stdexec::when_all. There are two branches. The first branch is on Kokkos::Execution::ExecutionSpaceContext. The second branch is itself a stdexec::when_all with a single branch with a segment on the same Kokkos::Execution::ExecutionSpaceContext instance, followed by work on another context. stdexec::when_all with a schedule sender in one branch and a single other branch on Kokkos::Execution::ExecutionSpaceContext, followed by work on another context, followed by work on the same Kokkos::Execution::ExecutionSpaceContext. stdexec::when_all with a schedule sender in one branch and a single other branch on Kokkos::Execution::ExecutionSpaceContext, followed by work on the same Kokkos::Execution::ExecutionSpaceContext. stdexec::when_all with a schedule sender in one branch and a single other branch on Kokkos::Execution::ExecutionSpaceContext. stdexec::when_all with a schedule sender in one branch and a single other branch with a segment on Kokkos::Execution::ExecutionSpaceContext followed by a segment on another context. The stdexec::when_all is followed by work on the same Kokkos::Execution::ExecutionSpaceContext. stdexec::when_all with a single branch on Kokkos::Execution::ExecutionSpaceContext. stdexec::when_all with two branches, the first on Kokkos::Execution::ExecutionSpaceContext instance A and the second on Kokkos::Execution::ExecutionSpaceContext instance B, followed by work on instance A. stdexec::when_all with two branches, the first on a Kokkos::Execution::ExecutionSpaceContext instantiated for the test execution space type and the second on a Kokkos::Execution::ExecutionSpaceContext instantiated for the default host execution space type, followed by work on the first execution context. stdexec::when_all with two branches, the first on Kokkos::Execution::ExecutionSpaceContext and the second on another context, followed by work on the same other context, followed by work on the same Kokkos::Execution::ExecutionSpaceContext. stdexec::when_all with two branches, the first on Kokkos::Execution::ExecutionSpaceContext and the second on another context, followed by work on the same Kokkos::Execution::ExecutionSpaceContext. stdexec::bulk within a chain started with stdexec::schedule. stdexec::starts_on. stdexec::continues_on from a scheduler to another scheduler of another type creates distinct graphs. stdexec::continues_on to transition from a scheduler to another scheduler of the same type (and back) creates a single graph. stdexec::continues_on to transition from a scheduler to another scheduler of the same type creates a single graph. stdexec::continues_on from a scheduler to itself creates a single graph. apply_sender for stdexec::sync_wait_t. stdexec::bulk_t sender. stdexec::then_t sender. stdexec::bulk_t (since it customizes it). It won't interact with other domains inheriting from the stdexec::default_domain.
It will always be non-default-like for stdexec::then_t (since it customizes it).
Our customization is not selected. No value channel is added, such that it is not sync-waitable.
Check that Kokkos::Execution::GraphContext does its duty well when used with Kokkos::Execution::parallel_for_t within a chain started with stdexec::schedule.
stdexec::starts_on. stdexec::when_all. stdexec::when_all. stdexec::continues_on. Kokkos::Execution::GraphImpl::Scheduler models the stdexec::scheduler concept.
Check that querying the completion scheduler from a schedule sender of a scheduler returns the scheduler.
Check whether the sender can be nothrow applied.
Check that calling stdexec::sync_wait on a sender that does not have any operation in it will not result in a spurious fence.
stdexec::connect result is Kokkos::Execution::GraphImpl::OpState, and the Kokkos node types are hierarchical and fully typed on predecessors. stdexec::continues_on. noexcept. stdexec::schedule_from. stdexec::get_env query on Kokkos::Execution::GraphImpl::Scheduler::Sender returns Kokkos::Execution::GraphImpl::Scheduler::Sender::Attributes. schedule method of Kokkos::Execution::GraphImpl::Scheduler returns Kokkos::Execution::GraphImpl::Scheduler::Sender. Check that it cannot be nothrow-connected.
Our customization is not selected. No value channel is added, such that it is not sync-waitable.
Check noexcept specification of sender transformation.
Check noexcept specification of sender transformation.
Our customization is not selected. No value channel is added, such that it is not sync-waitable.
Check traits of sender returned by stdexec::bulk when customized for Kokkos::Execution::GraphImpl::Domain.
Check traits of sender returned by Kokkos::Execution::parallel_for either uncustomized or customized for Kokkos::Execution::GraphContext.
Check traits of sender returned by stdexec::then when customized for Kokkos::Execution::GraphImpl::Domain.
Check traits of sender returned by stdexec::when_all when customized for Kokkos::Execution::GraphImpl::Domain.
stdexec::connect result is Kokkos::Execution::GraphImpl::OpState, and the Kokkos node types are hierarchical and fully typed on predecessors. stdexec::then properly forwards forwarding queries. stdexec::then within a chain started with stdexec::schedule. stdexec::starts_on. stdexec::when_all properly forwards forwarding queries. stdexec::when_all with a schedule sender in one branch and a single other branch. stdexec::when_all allows a branch to consist of only the schedule sender Kokkos::Execution::GraphImpl::Scheduler::Sender. stdexec::when_all with a single branch on Kokkos::Execution::GraphContext. experimental::execution::single_thread_context, whereas others directly start on Kokkos::Execution::GraphImpl::Domain. experimental::execution::single_thread_context. stdexec::when_all. stdexec::when_all. stdexec::__fwd_env, yet the resulting type also contains the unforwarded queries. stdexec::starts_on is a dependent sender. stdexec::starts_on may be a non-dependent sender. stdexec::then adaptor because stdexec::get_allocator_t is a forwarding query. stdexec::write_env is visible via stdexec::read_env. stdexec::sync_wait.