kokkos-execution 0.0.1
Loading...
Searching...
No Matches
Kokkos::Execution::Impl::RequiresSync< Exec, Rcvr > Struct Template Reference

#include <completion_signal.hpp>

Public Member Functions

bool operator() (const Exec &exec, const Rcvr &rcvr) const noexcept
constexpr bool operator() (const Exec &, const Rcvr &) const noexcept

Detailed Description

template<Kokkos::ExecutionSpace Exec, stdexec::receiver Rcvr>
struct Kokkos::Execution::Impl::RequiresSync< Exec, Rcvr >

If the receiver environment can be queried for Kokkos::Execution::Impl::get_exec_t and if the successor enqueues work on the same execution space instance, the implementation is allowed to skip the synchronization of asynchronous work.

This situation may arise, for example, when the execution space scheduler is used in a stdexec::when_all branch.

Definition at line 29 of file completion_signal.hpp.

Member Function Documentation

◆ operator()() [1/2]

template<Kokkos::ExecutionSpace Exec, stdexec::receiver Rcvr>
bool Kokkos::Execution::Impl::RequiresSync< Exec, Rcvr >::operator() ( const Exec & ,
const Rcvr &  ) const
inlineconstexprnoexcept
Todo
This is compile-time only and should go away.

Definition at line 51 of file completion_signal.hpp.

◆ operator()() [2/2]

template<Kokkos::ExecutionSpace Exec, stdexec::receiver Rcvr>
bool Kokkos::Execution::Impl::RequiresSync< Exec, Rcvr >::operator() ( const Exec & exec,
const Rcvr & rcvr ) const
inlinenoexcept
Todo
Simplify by moving and using Tests::Utils::are_same_instances.

Definition at line 31 of file completion_signal.hpp.

References Kokkos::Execution::Impl::get_exec.


The documentation for this struct was generated from the following file: