kokkos-execution 0.0.1
Loading...
Searching...
No Matches
test_when_all.cpp File Reference

Go to the source code of this file.

Classes

class  Tests::ExecutionSpaceImpl::WhenAllTest
class  Tests::ExecutionSpaceImpl::WhenAllTest_single_branch_Test
class  Tests::ExecutionSpaceImpl::WhenAllTest_single_branch_followed_by_self_Test
class  Tests::ExecutionSpaceImpl::WhenAllTest_single_mixed_branch_followed_by_self_Test
class  Tests::ExecutionSpaceImpl::WhenAllTest_single_branch_followed_by_other_and_finish_on_self_Test
class  Tests::ExecutionSpaceImpl::WhenAllTest_two_mixed_branches_followed_by_self_Test
class  Tests::ExecutionSpaceImpl::WhenAllTest_two_branches_followed_by_self_Test
class  Tests::ExecutionSpaceImpl::WhenAllTest_two_branches_host_device_followed_by_device_Test
class  Tests::ExecutionSpaceImpl::WhenAllTest_two_mixed_branches_followed_by_other_and_finish_on_self_Test
class  Tests::ExecutionSpaceImpl::WhenAllTest_nested_with_inner_followed_by_other_Test
class  Tests::ExecutionSpaceImpl::WhenAllTest_nested_when_all_with_independent_branch_Test
class  Tests::ExecutionSpaceImpl::WhenAllTest_many_concurrent_branches_Test

Namespaces

namespace  Tests
namespace  Tests::ExecutionSpaceImpl

Macros

#define DEFINE_ONE_BRANCH(_letter_, _id_)
#define SHOW_ONE_BRANCH_ORDER_AFTER_STC(_letter_, _id_)

Macro Definition Documentation

◆ DEFINE_ONE_BRANCH

#define DEFINE_ONE_BRANCH ( _letter_,
_id_ )
Value:
const context_t esc_##_letter_{exec_##_letter_}; \
experimental::execution::single_thread_context stc_##_letter_{}; \
auto br_##_letter_ = stdexec::just() \
| stdexec::then( \
increment_and_memorize_t{ \
.counter = view_um_h_t{std::addressof(counter_start)}, \
.value = view_um_h_t{std::addressof(order_start.at(_id_))}}) \
| stdexec::continues_on(stc_##_letter_.get_scheduler()) \
| stdexec::then( \
increment_and_memorize_t{ \
.counter = view_um_h_t{std::addressof(counter_after_stc)}, \
.value = view_um_h_t{std::addressof(order_after_stc.at(_id_))}}) \
| stdexec::continues_on(esc_##_letter_.get_scheduler()) | THEN_INCREMENT_ATOMIC(Device, data);
#define THEN_INCREMENT_ATOMIC(_scope_, _data_)
Same as THEN_INCREMENT, using Tests::Utils::atomic_fetch_add. // NOLINTNEXTLINE(cppcoreguidelines-mac...
Definition increment.hpp:63

◆ SHOW_ONE_BRANCH_ORDER_AFTER_STC

#define SHOW_ONE_BRANCH_ORDER_AFTER_STC ( _letter_,
_id_ )
Value:
SCOPED_TRACE(testing::Message() << "Branch " #_letter_ " order after 'stc' is " << order_after_stc.at(_id_));