Kokkos Core Kernels Package Version of the Day
Loading...
Searching...
No Matches
Kokkos::RangePolicy< Properties > Class Template Reference

Execution policy for work over a range of an integral type. More...

#include <Kokkos_ExecPolicy.hpp>

Inheritance diagram for Kokkos::RangePolicy< Properties >:

Classes

struct  WorkRange
 Subrange for a partition's rank and size. More...

Public Types

using execution_policy = RangePolicy<Properties...>
 Tag this class as an execution policy.

Public Member Functions

template<typename IndexType1, typename IndexType2, std::enable_if_t<(std::is_convertible_v< IndexType1, member_type > &&std::is_convertible_v< IndexType2, member_type >), bool > = false>
 RangePolicy (const IndexType1 work_begin, const IndexType2 work_end)
 Total range.
template<typename IndexType1, typename IndexType2, std::enable_if_t<(std::is_convertible_v< IndexType1, member_type > &&std::is_convertible_v< IndexType2, member_type >), bool > = false>
 RangePolicy (const typename traits::execution_space &work_space, const IndexType1 work_begin, const IndexType2 work_end)
 Total range.
template<typename IndexType1, typename IndexType2, typename... Args, std::enable_if_t<(std::is_convertible_v< IndexType1, member_type > &&std::is_convertible_v< IndexType2, member_type >), bool > = false>
 RangePolicy (const IndexType1 work_begin, const IndexType2 work_end, const ChunkSize chunk_size)
 Total range.
member_type chunk_size () const
 return chunk_size
RangePolicy & set_chunk_size (int chunk_size)
 set chunk_size to a discrete value

Detailed Description

template<class... Properties>
class Kokkos::RangePolicy< Properties >

Execution policy for work over a range of an integral type.

Valid template argument options:

With a specified execution space: < ExecSpace , WorkTag , { IntConst | IntType } > < ExecSpace , WorkTag , void > < ExecSpace , { IntConst | IntType } , void > < ExecSpace , void , void >

With the default execution space: < WorkTag , { IntConst | IntType } , void > < WorkTag , void , void > < { IntConst | IntType } , void , void > < void , void , void >

IntType is a fundamental integral type IntConst is an Impl::integral_constant< IntType , Blocking >

Blocking is the granularity of partitioning the range among threads.

Definition at line 76 of file Kokkos_ExecPolicy.hpp.

Member Typedef Documentation

◆ execution_policy

template<class... Properties>
using Kokkos::RangePolicy< Properties >::execution_policy = RangePolicy<Properties...>

Tag this class as an execution policy.

Definition at line 92 of file Kokkos_ExecPolicy.hpp.

Constructor & Destructor Documentation

◆ RangePolicy() [1/3]

template<class... Properties>
template<typename IndexType1, typename IndexType2, std::enable_if_t<(std::is_convertible_v< IndexType1, member_type > &&std::is_convertible_v< IndexType2, member_type >), bool > = false>
Kokkos::RangePolicy< Properties >::RangePolicy ( const IndexType1 work_begin,
const IndexType2 work_end )
inline

Total range.

Definition at line 130 of file Kokkos_ExecPolicy.hpp.

◆ RangePolicy() [2/3]

template<class... Properties>
template<typename IndexType1, typename IndexType2, std::enable_if_t<(std::is_convertible_v< IndexType1, member_type > &&std::is_convertible_v< IndexType2, member_type >), bool > = false>
Kokkos::RangePolicy< Properties >::RangePolicy ( const typename traits::execution_space & work_space,
const IndexType1 work_begin,
const IndexType2 work_end )
inline

Total range.

Definition at line 138 of file Kokkos_ExecPolicy.hpp.

◆ RangePolicy() [3/3]

template<class... Properties>
template<typename IndexType1, typename IndexType2, typename... Args, std::enable_if_t<(std::is_convertible_v< IndexType1, member_type > &&std::is_convertible_v< IndexType2, member_type >), bool > = false>
Kokkos::RangePolicy< Properties >::RangePolicy ( const IndexType1 work_begin,
const IndexType2 work_end,
const ChunkSize chunk_size )
inline

Total range.

Definition at line 174 of file Kokkos_ExecPolicy.hpp.

Member Function Documentation

◆ chunk_size()

template<class... Properties>
member_type Kokkos::RangePolicy< Properties >::chunk_size ( ) const
inline

return chunk_size

Definition at line 190 of file Kokkos_ExecPolicy.hpp.

◆ set_chunk_size()

template<class... Properties>
RangePolicy & Kokkos::RangePolicy< Properties >::set_chunk_size ( int chunk_size)
inline

set chunk_size to a discrete value

Definition at line 193 of file Kokkos_ExecPolicy.hpp.


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