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

Utility functions that wrap constructors of Kokkos execution policies. More...

#include <make_policy.hpp>

Public Member Functions

auto operator() (const Exec &exec) const noexcept -> Kokkos::SinglePolicy< Exec, Properties... >
template<extents Extents>
requires (Extents::rank() == 1)
auto operator() (const Exec &exec, const Extents &extents) const noexcept -> Kokkos::RangePolicy< Exec, Properties... >
template<range_slice_with_default_stride RangeSlice>
auto operator() (const Exec &exec, const RangeSlice &rgsl) const noexcept -> Kokkos::RangePolicy< Exec, Properties... >
template<updatable_to< Exec > ExecPolicy>
requires (sizeof...(Properties) == 0)
auto operator() (const Exec &exec, const ExecPolicy &policy) const noexcept -> ExecPolicy
template<typename... Args>
requires (!Kokkos::ExecutionSpace<std::remove_cvref_t<Args>> && ...)
auto operator() (Args &&... args) const noexcept(noexcept(this->operator()(default_instance(), std::forward< Args >(args)...))) -> decltype(this->operator()(default_instance(), std::forward< Args >(args)...))

Static Public Member Functions

static Exec default_instance () noexcept

Detailed Description

template<Kokkos::ExecutionSpace Exec, typename... Properties>
struct Kokkos::Execution::Impl::make_policy_t< Exec, Properties >

Utility functions that wrap constructors of Kokkos execution policies.

They are marked noexcept so that they can be used in noexcept expressions without themselves triggering the expression to be potentially throwing. The constructors of Kokkos execution policies abort if precondition checks fail, but are not marked noexcept.

Definition at line 33 of file make_policy.hpp.

Member Function Documentation

◆ default_instance()

template<Kokkos::ExecutionSpace Exec, typename... Properties>
Exec Kokkos::Execution::Impl::make_policy_t< Exec, Properties >::default_instance ( )
inlinestaticnoexcept

Definition at line 61 of file make_policy.hpp.

◆ operator()() [1/5]

template<Kokkos::ExecutionSpace Exec, typename... Properties>
template<typename... Args>
requires (!Kokkos::ExecutionSpace<std::remove_cvref_t<Args>> && ...)
auto Kokkos::Execution::Impl::make_policy_t< Exec, Properties >::operator() ( Args &&... args) const -> decltype(this->operator()(default_instance(), std::forward< Args >(args)...))
inlinenodiscardnoexcept

Definition at line 68 of file make_policy.hpp.

◆ operator()() [2/5]

template<Kokkos::ExecutionSpace Exec, typename... Properties>
auto Kokkos::Execution::Impl::make_policy_t< Exec, Properties >::operator() ( const Exec & exec) const -> Kokkos::SinglePolicy< Exec, Properties... >
inlinenodiscardnoexcept

Definition at line 35 of file make_policy.hpp.

◆ operator()() [3/5]

template<Kokkos::ExecutionSpace Exec, typename... Properties>
template<updatable_to< Exec > ExecPolicy>
requires (sizeof...(Properties) == 0)
auto Kokkos::Execution::Impl::make_policy_t< Exec, Properties >::operator() ( const Exec & exec,
const ExecPolicy & policy ) const -> ExecPolicy
inlinenodiscardnoexcept

Definition at line 57 of file make_policy.hpp.

◆ operator()() [4/5]

template<Kokkos::ExecutionSpace Exec, typename... Properties>
template<extents Extents>
requires (Extents::rank() == 1)
auto Kokkos::Execution::Impl::make_policy_t< Exec, Properties >::operator() ( const Exec & exec,
const Extents & extents ) const -> Kokkos::RangePolicy< Exec, Properties... >
inlinenodiscardnoexcept

Definition at line 42 of file make_policy.hpp.

◆ operator()() [5/5]

template<Kokkos::ExecutionSpace Exec, typename... Properties>
template<range_slice_with_default_stride RangeSlice>
auto Kokkos::Execution::Impl::make_policy_t< Exec, Properties >::operator() ( const Exec & exec,
const RangeSlice & rgsl ) const -> Kokkos::RangePolicy< Exec, Properties... >
inlinenodiscardnoexcept

Definition at line 49 of file make_policy.hpp.


The documentation for this struct was generated from the following file:
  • /__w/kokkos-execution/kokkos-execution/kokkos-execution/impl/make_policy.hpp