kokkos-execution 0.0.1
Loading...
Searching...
No Matches
Tests::ExecutionSpaceImpl Namespace Reference

Classes

class  AnySenderTest
class  AnySenderTest_then_Test
class  BulkTest
class  BulkTest_bulk_Test
class  BulkTest_no_spurious_copy_on_connect_Test
class  ContinuesOnTest
class  ContinuesOnTest_queryable_get_exec_Test
class  ContinuesOnTest_then_sync_wait_Test
class  ContinuesOnTest_transition_to_same_execution_space_instance_Test
class  ContinuesOnTest_transition_to_another_execution_space_instance_and_back_same_type_Test
class  ContinuesOnTest_transition_to_another_execution_space_instance_and_back_different_type_Test
class  ForkJoinTest
class  ForkJoinTest_diamond_Test
class  ForkJoinTest_continues_on_Test
class  ForkJoinTest_continues_on_bulk_Test
class  InterOpTest
class  InterOpTest_transition_to_inline_scheduler_Test
class  InterOpTest_transition_from_inline_scheduler_Test
class  InterOpTest_transition_from_inline_scheduler_and_back_Test
class  InterOpTest_transition_to_static_thread_pool_Test
class  InterOpTest_transition_from_static_thread_pool_Test
class  InterOpTest_transition_from_static_thread_pool_and_back_Test
class  InterOpTest_transition_to_static_thread_pool_and_back_Test
class  LetValueTest
class  LetValueTest_scoped_allocation_Test
class  OnTest
class  OnTest_on_same_execution_space_instance_Test
class  OnTest_on_another_execution_space_instance_same_type_Test
class  OnTest_many_execution_space_instances_of_different_type_Test
class  OpStateTest
class  OpStateTest_construct_query_and_start_Test
class  ParallelForTest
class  ParallelForTest_team_policy_Test
 FIXME: https://github.com/kokkos/kokkos/blob/393d4165a6c3687e78abe5e1665853f1eabc386d/core/src/Kokkos_View.hpp#L697. More...
class  ParallelForTest_closure_object_creation_overloads_Test
class  ParallelForTest_two_parallel_regions_Test
class  ParallelForTest_starts_on_parallel_region_Test
class  RepeatEffectUntilTest
class  RepeatEffectUntilTest_works_Test
class  Scheduler_round_trip_property_Test
class  ScopedRegionTest
class  ScopedRegionTest_many_Test
class  SplitTest
class  SplitTest_split_and_sync_wait_Test
class  SplitTest_within_Test
class  ExecutionSpaceContextTest_sync_wait_Test
class  ExecutionSpaceContextTest_rethrows_Test
class  ThenTest
class  ThenTest_then_schedule_Test
class  ThenTest_then_starts_on_Test
class  ThenTest_error_propagates_Test
class  ThenTest_then_lifetime_Test
class  TransferWhenAllTest
class  TransferWhenAllTest_Y_Test
class  WhenAllTest
class  WhenAllTest_single_branch_Test
class  WhenAllTest_single_branch_followed_by_self_Test
class  WhenAllTest_single_mixed_branch_followed_by_self_Test
class  WhenAllTest_single_branch_followed_by_other_and_finish_on_self_Test
class  WhenAllTest_two_mixed_branches_followed_by_self_Test
class  WhenAllTest_two_branches_followed_by_self_Test
class  WhenAllTest_two_branches_host_device_followed_by_device_Test
class  WhenAllTest_two_mixed_branches_followed_by_other_and_finish_on_self_Test
class  WhenAllTest_nested_with_inner_followed_by_other_Test
class  WhenAllTest_nested_when_all_with_independent_branch_Test

Typedefs

using execution_space_context_t = Kokkos::Execution::ExecutionSpaceContext<TEST_EXECUTION_SPACE>
using execution_space_scheduler_t = Kokkos::Execution::ExecutionSpaceImpl::Scheduler<TEST_EXECUTION_SPACE>
using execution_space_schedule_sender_t = typename execution_space_scheduler_t::Sender
using execution_space_schedule_sender_attrs_t = typename execution_space_schedule_sender_t::Attributes
using ExecutionSpaceContextTest = Tests::Utils::ExecutionSpaceContextTest<TEST_EXECUTION_SPACE>

Functions

consteval bool test_sndr_traits ()
consteval bool test_sndr_no_throw_transformable ()
constexpr bool test_op_state_passed_by_const_ref ()
consteval bool test_schedule_from_sndr_traits ()
consteval bool test_continues_on_sndr_traits ()
consteval bool test_continues_on_after_just_stopped ()
consteval bool test_op_state_traits ()
template<stdexec::receiver Rcvr>
consteval bool test_delegate_completion_with_event ()
consteval bool test_op_state_flattened_from_two ()
consteval bool test_op_state_flattened_from_three ()
consteval bool test_op_state_flattened_from_three_mixed_tags ()
template<template< typename, typename, typename, typename > class SndrAdptr>
consteval bool test_sndr_traits ()
consteval bool test_sndr_decomposition ()
template<typename ViewType, bool ExpectNoThrowMoveConstructible>
consteval bool test_closure_traits ()
template<typename ViewType, Kokkos::ExecutionSpace Exec>
auto closure_object_creation_overloads (const size_t size, const ViewType &witness, const Kokkos::Execution::ExecutionSpaceContext< Exec > &esc) -> stdexec::sender auto
consteval bool test_scheduler_schedule ()
consteval bool test_schedule_sender_attrs ()
consteval bool test_scheduler_queries ()
consteval bool test_schedule_sender_attrs_queries ()

Typedef Documentation

◆ execution_space_context_t

◆ execution_space_schedule_sender_attrs_t

using Tests::ExecutionSpaceImpl::execution_space_schedule_sender_attrs_t = typename execution_space_schedule_sender_t::Attributes

Definition at line 25 of file test_scheduler.cpp.

◆ execution_space_schedule_sender_t

using Tests::ExecutionSpaceImpl::execution_space_schedule_sender_t = typename execution_space_scheduler_t::Sender

Definition at line 24 of file test_scheduler.cpp.

◆ execution_space_scheduler_t

◆ ExecutionSpaceContextTest

Function Documentation

◆ closure_object_creation_overloads()

template<typename ViewType, Kokkos::ExecutionSpace Exec>
auto Tests::ExecutionSpaceImpl::closure_object_creation_overloads ( const size_t size,
const ViewType & witness,
const Kokkos::Execution::ExecutionSpaceContext< Exec > & esc )->stdexec::senderauto

Definition at line 201 of file test_parallel_for.cpp.

References Kokkos::Execution::parallel_for.

◆ test_closure_traits()

template<typename ViewType, bool ExpectNoThrowMoveConstructible>
bool Tests::ExecutionSpaceImpl::test_closure_traits ( )
consteval

◆ test_continues_on_after_just_stopped()

bool Tests::ExecutionSpaceImpl::test_continues_on_after_just_stopped ( )
consteval
Test
Our customization properly does not add a value channel, such that it is not sync-waitable.

Trying to pass the sender to stdexec::sync_wait will fail on the static_assert in https://github.com/NVIDIA/stdexec/blob/7c8c3c3d5a0d0b16963a00192dbfae5db9c2c627/include/stdexec/__detail/__sync_wait.hpp#L199-L219.

Definition at line 399 of file test_continues_on.cpp.

◆ test_continues_on_sndr_traits()

bool Tests::ExecutionSpaceImpl::test_continues_on_sndr_traits ( )
consteval
Test
Check traits of the sender created by the customized stdexec::continues_on.

Definition at line 53 of file test_continues_on.cpp.

References Tests::Utils::check_continues_on().

◆ test_delegate_completion_with_event()

template<stdexec::receiver Rcvr>
bool Tests::ExecutionSpaceImpl::test_delegate_completion_with_event ( )
consteval
Test
Check that Kokkos::Execution::ExecutionSpaceImpl::OpStateBase possibly uses an Kokkos::Execution::Impl::Event only if the receiver environment is queryable for a delegation scheduler and the execution space supports events.

When delegating, additional space is taken by the storage of the operation state. Otherwise, it only stores the receiver.

Definition at line 91 of file test_operation_state.cpp.

◆ test_op_state_flattened_from_three()

bool Tests::ExecutionSpaceImpl::test_op_state_flattened_from_three ( )
consteval
Test
Check construction of flattened operation state from three parallel for senders.

Definition at line 195 of file test_operation_state.cpp.

References Kokkos::Execution::parallel_for.

◆ test_op_state_flattened_from_three_mixed_tags()

bool Tests::ExecutionSpaceImpl::test_op_state_flattened_from_three_mixed_tags ( )
consteval
Test
Check construction of flattened operation state from three parallel for senders with mixed tags.

Definition at line 249 of file test_operation_state.cpp.

References Kokkos::Execution::parallel_for.

◆ test_op_state_flattened_from_two()

bool Tests::ExecutionSpaceImpl::test_op_state_flattened_from_two ( )
consteval
Test
Check construction of flattened operation state from two parallel for senders.

Definition at line 152 of file test_operation_state.cpp.

References Kokkos::Execution::parallel_for.

◆ test_op_state_passed_by_const_ref()

bool Tests::ExecutionSpaceImpl::test_op_state_passed_by_const_ref ( )
constexpr
Test
Check construction of operation state from a parallel for sender when passing the sender as a const reference.
Test
Check construction of operation state from a parallel for sender when passing the sender as a const reference.

Connect the sender as a const reference.

Definition at line 100 of file test_bulk.cpp.

◆ test_op_state_traits()

bool Tests::ExecutionSpaceImpl::test_op_state_traits ( )
consteval
Test
Check traits of Kokkos::Execution::ExecutionSpaceImpl::OpState.

Schedule sender.

Parallel for closure.

Receiver.

Operation state.

Models the operation state concept.

By inheriting from stdexec::__immovable, it is neither moveable nor copyable.

Definition at line 23 of file test_operation_state.cpp.

◆ test_schedule_from_sndr_traits()

bool Tests::ExecutionSpaceImpl::test_schedule_from_sndr_traits ( )
consteval
Test
Check traits of the sender created by the customized stdexec::schedule_from.

Definition at line 40 of file test_continues_on.cpp.

◆ test_schedule_sender_attrs()

bool Tests::ExecutionSpaceImpl::test_schedule_sender_attrs ( )
consteval

◆ test_schedule_sender_attrs_queries()

bool Tests::ExecutionSpaceImpl::test_schedule_sender_attrs_queries ( )
consteval

◆ test_scheduler_queries()

bool Tests::ExecutionSpaceImpl::test_scheduler_queries ( )
consteval

◆ test_scheduler_schedule()

bool Tests::ExecutionSpaceImpl::test_scheduler_schedule ( )
consteval

◆ test_sndr_decomposition()

bool Tests::ExecutionSpaceImpl::test_sndr_decomposition ( )
consteval
Test
Check decomposition of Kokkos::Execution::Impl::ParallelForSender into the algorithm tag, data, and child sender.

Schedule sender.

Parallel for sender.

Is decomposable into the expected algorithm tag, data, and child sender.

Is transformable via Kokkos::Execution::ExecutionSpaceImpl::TransformSenderFor.

Definition at line 114 of file test_parallel_for.cpp.

◆ test_sndr_no_throw_transformable()

bool Tests::ExecutionSpaceImpl::test_sndr_no_throw_transformable ( )
consteval
Test
Check noexcept specification of sender transformation.
Test
Check noexcept specification of sender transformation.
Test
Check noexcept specification of sender transformation.

Definition at line 71 of file test_bulk.cpp.

◆ test_sndr_traits() [1/2]

bool Tests::ExecutionSpaceImpl::test_sndr_traits ( )
consteval
Test
Check traits of sender returned by bulk when customized for Kokkos::Execution::ExecutionSpaceImpl::Domain.
Test
Check traits of sender returned by Kokkos::Execution::Profiling::scoped_region.
Test
Check traits of sender returned by then when customized for Kokkos::Execution::ExecutionSpaceImpl::Domain.

Schedule sender.

Bulk sender.

Models the execution space completing sender concept.

Models the dispatching sender concept.

Schedule sender.

Then sender.

Models the execution space completing sender concept.

Models the dispatching sender concept.

The policy used in the parallel for created by the then sender has the expected launch bounds.

Definition at line 38 of file test_bulk.cpp.

◆ test_sndr_traits() [2/2]

template<template< typename, typename, typename, typename > class SndrAdptr>
bool Tests::ExecutionSpaceImpl::test_sndr_traits ( )
consteval
Test
Check traits of sender returned by Kokkos::Execution::parallel_for either uncustomized or customized for Kokkos::Execution::ExecutionSpaceContext.

Schedule sender.

Parallel for sender.

Models the execution space completing sender concept.

Models the dispatching sender concept.

Has the expected completion signatures.

Has the expected completion domain.

Has the expected completion scheduler.

Is connectable.

FIXME: https://github.com/kokkos/kokkos/blob/393d4165a6c3687e78abe5e1665853f1eabc386d/core/src/Kokkos_View.hpp#L697

It is nothrow connectable.

Definition at line 44 of file test_parallel_for.cpp.