Kokkos Core Kernels Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Types | Public Member Functions | List of all members
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 >:
Inheritance graph
[legend]

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. More...
 

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. More...
 
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. More...
 
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. More...
 
member_type chunk_size () const
 return chunk_size More...
 
RangePolicyset_chunk_size (int chunk_size)
 set chunk_size to a discrete value More...
 

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

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

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.

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.

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

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

return chunk_size

Definition at line 190 of file Kokkos_ExecPolicy.hpp.

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: