|
kokkos-execution 0.0.1
|
Custom algorithm for the Kokkos::parallel_for construct.
More...
#include <parallel_for.hpp>
Public Types | |
| template<typename Functor, typename ExecPolicyOrIterSpace, typename... Properties> | |
| using | parallel_for_data_t |
Public Member Functions | |
| template<typename Label, typename Functor, typename ExecPolicy> requires (Impl::label<std::remove_cvref_t<Label>> && Kokkos::ExecutionPolicy<std::remove_cvref_t<ExecPolicy>>) | |
| constexpr auto | operator() (Label &&label, ExecPolicy &&policy, Functor &&functor) const noexcept(noexcept(stdexec::__closure(*this, std::forward< ExecPolicy >(policy), std::forward< Functor >(functor), Impl::Label{std::forward< Label >(label)}))) -> decltype(stdexec::__closure(*this, std::forward< ExecPolicy >(policy), std::forward< Functor >(functor), Impl::Label{std::forward< Label >(label)})) |
| template<typename Functor, typename ExecPolicyOrIterSpace> requires Impl::execution_policy_or_iteration_space<std::remove_cvref_t<ExecPolicyOrIterSpace>> | |
| constexpr auto | operator() (ExecPolicyOrIterSpace &&policy_or_iter_space, Functor &&functor) const noexcept(noexcept(stdexec::__closure(*this, std::forward< ExecPolicyOrIterSpace >(policy_or_iter_space), std::forward< Functor >(functor)))) -> decltype(stdexec::__closure(*this, std::forward< ExecPolicyOrIterSpace >(policy_or_iter_space), std::forward< Functor >(functor))) |
| template<typename Label, typename Functor, std::integral T> requires Impl::label<std::remove_cvref_t<Label>> | |
| constexpr auto | operator() (Label &&label, const T work_count, Functor &&functor) const noexcept(noexcept(stdexec::__closure(*this, Impl::make_iter_space(work_count), std::forward< Functor >(functor), Impl::Label{std::forward< Label >(label)}))) -> decltype(stdexec::__closure(*this, Impl::make_iter_space(work_count), std::forward< Functor >(functor), Impl::Label{std::forward< Label >(label)})) |
| template<typename Functor, std::integral T> | |
| constexpr auto | operator() (const T work_count, Functor &&functor) const noexcept(noexcept(stdexec::__closure(*this, Impl::make_iter_space(work_count), std::forward< Functor >(functor)))) -> decltype(stdexec::__closure(*this, Impl::make_iter_space(work_count), std::forward< Functor >(functor))) |
| template<stdexec::sender Sndr, typename Functor, typename ExecPolicyOrIterSpace, typename... Properties> requires Impl::execution_policy_or_iteration_space<std::remove_cvref_t<ExecPolicyOrIterSpace>> | |
| constexpr auto | operator() (Sndr &&sndr, ExecPolicyOrIterSpace &&policy_or_iter_space, Functor &&functor, Properties &&... properties) const noexcept(noexcept(Impl::ParallelForSender< Sndr, parallel_for_data_t< Functor, ExecPolicyOrIterSpace, Properties... > >{{ parallel_for_t{}, parallel_for_data_t< Functor, ExecPolicyOrIterSpace, Properties... >{ std::forward< Properties >(properties)..., std::forward< Functor >(functor), std::forward< ExecPolicyOrIterSpace >(policy_or_iter_space)}, std::forward< Sndr >(sndr) }})) -> Impl::ParallelForSender< Sndr, parallel_for_data_t< Functor, ExecPolicyOrIterSpace, Properties... > > |
| template<stdexec::sender Sndr, typename Label, typename Functor, typename ExecPolicyOrIterSpace> requires ( Impl::label<std::remove_cvref_t<Label>> && Impl::execution_policy_or_iteration_space<std::remove_cvref_t <ExecPolicyOrIterSpace>>) | |
| constexpr auto | operator() (Sndr &&sndr, Label &&label, ExecPolicyOrIterSpace &&policy_or_iter_space, Functor &&functor) const noexcept(noexcept(this->operator()(std::forward< Sndr >(sndr), std::forward< ExecPolicyOrIterSpace >(policy_or_iter_space), std::forward< Functor >(functor), Impl::Label{std::forward< Label >(label)}))) -> decltype(this->operator()(std::forward< Sndr >(sndr), std::forward< ExecPolicyOrIterSpace >(policy_or_iter_space), std::forward< Functor >(functor), Impl::Label{std::forward< Label >(label)})) |
Custom algorithm for the Kokkos::parallel_for construct.
Definition at line 44 of file parallel_for.hpp.
| using Kokkos::Execution::parallel_for_t::parallel_for_data_t |
Definition at line 76 of file parallel_for.hpp.
|
inlineconstexprnoexcept |
Definition at line 73 of file parallel_for.hpp.
References Kokkos::Execution::Impl::make_iter_space().
|
inlineconstexprnoexcept |
Definition at line 57 of file parallel_for.hpp.
|
inlineconstexprnoexcept |
Definition at line 65 of file parallel_for.hpp.
References Kokkos::Execution::label(), and Kokkos::Execution::Impl::make_iter_space().
|
inlineconstexprnoexcept |
Definition at line 47 of file parallel_for.hpp.
References Kokkos::Execution::label().
|
inlineconstexprnoexcept |
Definition at line 84 of file parallel_for.hpp.
References KOKKOS_EXECUTION_RETURNS_BRACED.
|
inlineconstexprnoexcept |
Definition at line 105 of file parallel_for.hpp.
References Kokkos::Execution::label().