|
Kokkos Core Kernels Package
Version of the Day
|
Namespaces | |
| hwloc | |
| Minimal subset of logical 'hwloc' functionality available from http://www.open-mpi.org/projects/hwloc/. | |
Classes | |
| struct | ALL |
| Tag denoting that a subview should capture all of a dimension. More... | |
| struct | Array |
| Derived from the C++17 'std::array'. Dropping the iterator interface. More... | |
| class | Bitset |
| A thread safe view to a bitset. More... | |
| class | complex |
| Partial reimplementation of std::complex that works as the result of a Kokkos::parallel_reduce. More... | |
| class | ConstBitset |
| struct | Device |
| Memory space for main process and CPU execution spaces. More... | |
| class | HostSpace |
| Memory management for host memory. More... | |
| struct | LayoutLeft |
| Memory layout tag indicating left-to-right (Fortran scheme) striding of multi-indices. More... | |
| struct | LayoutRight |
| Memory layout tag indicating right-to-left (C or lexigraphical scheme) striding of multi-indices. More... | |
| struct | LayoutStride |
| Memory layout tag indicated arbitrarily strided multi-index mapping into contiguous memory. More... | |
| struct | LayoutTileLeft |
| Memory layout tag indicating left-to-right (Fortran scheme) striding of multi-indices by tiles. More... | |
| struct | pair |
| Replacement for std::pair that works on CUDA devices. More... | |
| class | Qthread |
| Execution space supported by Qthread. More... | |
| class | RangePolicy |
| Execution policy for work over a range of an integral type. More... | |
| class | ScratchMemorySpace |
| Scratch memory space associated with an execution space. More... | |
| class | StaticCrsGraph |
| Compressed row storage array. More... | |
| class | TeamPolicy |
| Execution policy for parallel work over a league of teams of threads. More... | |
| class | UnorderedMap |
| Thread-safe, performance-portable lookup table. More... | |
| class | UnorderedMapInsertResult |
| First element of the return value of UnorderedMap::insert(). More... | |
| class | View |
| View to an array of data. More... | |
| class | ViewTraits |
| Traits class for accessing attributes of a View. More... | |
Enumerations |
Functions | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION complex< RealType > | operator+ (const complex< RealType > &x, const complex< RealType > &y) |
| Binary + operator for complex. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION complex< RealType > | operator+ (const complex< RealType > &x) |
| Unary + operator for complex. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION complex< RealType > | operator- (const complex< RealType > &x, const complex< RealType > &y) |
| Binary - operator for complex. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION complex< RealType > | operator- (const complex< RealType > &x) |
| Unary - operator for complex. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION complex< RealType > | operator* (const complex< RealType > &x, const complex< RealType > &y) |
| Binary * operator for complex. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION RealType | imag (const complex< RealType > &x) |
| Imaginary part of a complex number. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION RealType | real (const complex< RealType > &x) |
| Real part of a complex number. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION RealType | abs (const complex< RealType > &x) |
| Absolute value (magnitude) of a complex number. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION complex< RealType > | conj (const complex< RealType > &x) |
| Conjugate of a complex number. More... | |
| template<class RealType1 , class RealType2 > | |
| KOKKOS_INLINE_FUNCTION complex< RealType1 > | operator/ (const complex< RealType1 > &x, const RealType2 &y) |
| Binary operator / for complex and real numbers. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION complex< RealType > | operator/ (const complex< RealType > &x, const complex< RealType > &y) |
| Binary operator / for complex. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION bool | operator== (const complex< RealType > &x, const complex< RealType > &y) |
| Equality operator for two complex numbers. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION bool | operator== (const std::complex< RealType > &x, const complex< RealType > &y) |
| Equality operator for std::complex and Kokkos::complex. More... | |
| template<class RealType1 , class RealType2 > | |
| KOKKOS_INLINE_FUNCTION bool | operator== (const complex< RealType1 > &x, const RealType2 &y) |
| Equality operator for complex and real number. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION bool | operator== (const RealType &x, const complex< RealType > &y) |
| Equality operator for real and complex number. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION bool | operator!= (const complex< RealType > &x, const complex< RealType > &y) |
| Inequality operator for two complex numbers. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION bool | operator!= (const std::complex< RealType > &x, const complex< RealType > &y) |
| Inequality operator for std::complex and Kokkos::complex. More... | |
| template<class RealType1 , class RealType2 > | |
| KOKKOS_INLINE_FUNCTION bool | operator!= (const complex< RealType1 > &x, const RealType2 &y) |
| Inequality operator for complex and real number. More... | |
| template<class RealType > | |
| KOKKOS_INLINE_FUNCTION bool | operator!= (const RealType &x, const complex< RealType > &y) |
| Inequality operator for real and complex number. More... | |
| void | finalize () |
| Finalize the spaces that were initialized via Kokkos::initialize. More... | |
| void | finalize_all () |
| Finalize all known execution spaces. More... | |
| template<typename iType , class TeamMemberType > | |
| KOKKOS_INLINE_FUNCTION Impl::TeamThreadRangeBoundariesStruct< iType, TeamMemberType > | TeamThreadRange (const TeamMemberType &, const iType &count) |
| Execution policy for parallel work over a threads within a team. More... | |
| template<typename iType , class TeamMemberType > | |
| KOKKOS_INLINE_FUNCTION Impl::TeamThreadRangeBoundariesStruct< iType, TeamMemberType > | TeamThreadRange (const TeamMemberType &, const iType &begin, const iType &end) |
| Execution policy for parallel work over a threads within a team. More... | |
| template<typename iType , class TeamMemberType > | |
| KOKKOS_INLINE_FUNCTION Impl::ThreadVectorRangeBoundariesStruct< iType, TeamMemberType > | ThreadVectorRange (const TeamMemberType &, const iType &count) |
| Execution policy for a vector parallel loop. More... | |
| template<class T1 , class T2 > | |
| KOKKOS_FORCEINLINE_FUNCTION bool | operator== (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs) |
| Equality operator for Kokkos::pair. More... | |
| template<class T1 , class T2 > | |
| KOKKOS_FORCEINLINE_FUNCTION bool | operator!= (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs) |
| Inequality operator for Kokkos::pair. More... | |
| template<class T1 , class T2 > | |
| KOKKOS_FORCEINLINE_FUNCTION bool | operator< (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs) |
| Less-than operator for Kokkos::pair. More... | |
| template<class T1 , class T2 > | |
| KOKKOS_FORCEINLINE_FUNCTION bool | operator<= (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs) |
| Less-than-or-equal-to operator for Kokkos::pair. More... | |
| template<class T1 , class T2 > | |
| KOKKOS_FORCEINLINE_FUNCTION bool | operator> (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs) |
| Greater-than operator for Kokkos::pair. More... | |
| template<class T1 , class T2 > | |
| KOKKOS_FORCEINLINE_FUNCTION bool | operator>= (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs) |
| Greater-than-or-equal-to operator for Kokkos::pair. More... | |
| template<class T1 , class T2 > | |
| KOKKOS_FORCEINLINE_FUNCTION pair< T1, T2 > | make_pair (T1 x, T2 y) |
| Return a new pair. More... | |
| template<class T1 , class T2 > | |
| KOKKOS_FORCEINLINE_FUNCTION pair< T1 &, T2 & > | tie (T1 &x, T2 &y) |
| Return a pair of references to the input arguments. More... | |
| template<class ExecPolicy , class FunctorType > | |
| void | parallel_for (const ExecPolicy &policy, const FunctorType &functor, const std::string &str="", typename Impl::enable_if< !Impl::is_integral< ExecPolicy >::value >::type *=0) |
Execute functor in parallel according to the execution policy. More... | |
| template<class ExecPolicy , class FunctorType > | |
| void | parallel_reduce (const ExecPolicy &policy, const FunctorType &functor, const std::string &str="", typename Impl::enable_if< !Impl::is_integral< ExecPolicy >::value >::type *=0) |
| Parallel reduction. More... | |
| template<class DT , class DL , class DD , class DM , class DS > | |
| void | deep_copy (const View< DT, DL, DD, DM, DS > &dst, typename Impl::enable_if<(Impl::is_same< typename ViewTraits< DT, DL, DD, DM >::non_const_value_type, typename ViewTraits< DT, DL, DD, DM >::value_type >::value), typename ViewTraits< DT, DL, DD, DM >::const_value_type >::type &value) |
| Deep copy a value into a view. More... | |
| template<class DT , class DL , class DD , class DM , class DS , class ST , class SL , class SD , class SM , class SS > | |
| void | deep_copy (const View< DT, DL, DD, DM, DS > &dst, const View< ST, SL, SD, SM, SS > &src, typename Impl::enable_if<(Impl::is_same< typename View< DT, DL, DD, DM, DS >::value_type, typename View< ST, SL, SD, SM, SS >::non_const_value_type >::value &&(unsigned(View< DT, DL, DD, DM, DS >::rank)==unsigned(0))&&(unsigned(View< ST, SL, SD, SM, SS >::rank)==unsigned(0)))>::type *=0) |
| A deep copy between views of compatible type, and rank zero. More... | |
| template<class DT , class DL , class DD , class DM , class ST , class SL , class SD , class SM > | |
| void | deep_copy (const View< DT, DL, DD, DM, Impl::ViewDefault > &dst, const View< ST, SL, SD, SM, Impl::ViewDefault > &src, typename Impl::enable_if<(Impl::is_same< typename View< DT, DL, DD, DM, Impl::ViewDefault >::value_type, typename View< ST, SL, SD, SM, Impl::ViewDefault >::non_const_value_type >::value &&(unsigned(View< DT, DL, DD, DM, Impl::ViewDefault >::rank)==unsigned(View< ST, SL, SD, SM, Impl::ViewDefault >::rank))&&(0< unsigned(View< DT, DL, DD, DM, Impl::ViewDefault >::rank))&&Impl::is_same< typename View< DT, DL, DD, DM, Impl::ViewDefault >::array_layout, typename View< ST, SL, SD, SM, Impl::ViewDefault >::array_layout >::value)>::type *=0) |
| A deep copy between views of the default specialization, compatible type, same non-zero rank, same contiguous layout. More... | |
| template<class DT , class DL , class DD , class DM , class DS , class ST , class SL , class SD , class SM , class SS > | |
| void | deep_copy (const View< DT, DL, DD, DM, DS > &dst, const View< ST, SL, SD, SM, SS > &src, const typename Impl::enable_if<(Impl::is_same< typename View< DT, DL, DD, DM, DS >::value_type, typename View< DT, DL, DD, DM, DS >::non_const_value_type >::value &&Impl::VerifyExecutionCanAccessMemorySpace< typename View< DT, DL, DD, DM, DS >::memory_space, typename View< ST, SL, SD, SM, SS >::memory_space >::value &&(unsigned(View< DT, DL, DD, DM, DS >::rank)==unsigned(View< ST, SL, SD, SM, SS >::rank))&&(0< unsigned(View< DT, DL, DD, DM, DS >::rank))&&((!Impl::is_same< typename View< DT, DL, DD, DM, DS >::array_layout, typename View< ST, SL, SD, SM, SS >::array_layout >::value)||(!Impl::is_same< DS, SS >::value)))>::type *=0) |
| Deep copy equal dimension arrays in the same space which have different layouts or specializations. More... | |
| template<class ExecSpace , class DT , class DL , class DD , class DM , class DS > | |
| void | deep_copy (const ExecSpace &, const View< DT, DL, DD, DM, DS > &dst, typename Impl::enable_if<(Impl::is_same< typename ViewTraits< DT, DL, DD, DM >::non_const_value_type, typename ViewTraits< DT, DL, DD, DM >::value_type >::value), typename ViewTraits< DT, DL, DD, DM >::const_value_type >::type &value) |
| Deep copy a value into a view. More... | |
| template<class ExecSpace , class DT , class DL , class DD , class DM , class DS , class ST , class SL , class SD , class SM , class SS > | |
| void | deep_copy (const ExecSpace &exec, const View< DT, DL, DD, DM, DS > &dst, const View< ST, SL, SD, SM, SS > &src, typename Impl::enable_if<(Impl::is_same< typename View< DT, DL, DD, DM, DS >::value_type, typename View< ST, SL, SD, SM, SS >::non_const_value_type >::value &&(unsigned(View< DT, DL, DD, DM, DS >::rank)==unsigned(0))&&(unsigned(View< ST, SL, SD, SM, SS >::rank)==unsigned(0)))>::type *=0) |
| A deep copy between views of compatible type, and rank zero. More... | |
| template<class ExecSpace , class DT , class DL , class DD , class DM , class ST , class SL , class SD , class SM > | |
| void | deep_copy (const ExecSpace &exec, const View< DT, DL, DD, DM, Impl::ViewDefault > &dst, const View< ST, SL, SD, SM, Impl::ViewDefault > &src, typename Impl::enable_if<(Impl::is_same< typename View< DT, DL, DD, DM, Impl::ViewDefault >::value_type, typename View< ST, SL, SD, SM, Impl::ViewDefault >::non_const_value_type >::value &&(unsigned(View< DT, DL, DD, DM, Impl::ViewDefault >::rank)==unsigned(View< ST, SL, SD, SM, Impl::ViewDefault >::rank))&&(0< unsigned(View< DT, DL, DD, DM, Impl::ViewDefault >::rank))&&Impl::is_same< typename View< DT, DL, DD, DM, Impl::ViewDefault >::array_layout, typename View< ST, SL, SD, SM, Impl::ViewDefault >::array_layout >::value)>::type *=0) |
| A deep copy between views of the default specialization, compatible type, same non-zero rank, same contiguous layout. More... | |
| template<class ExecSpace , class DT , class DL , class DD , class DM , class DS , class ST , class SL , class SD , class SM , class SS > | |
| void | deep_copy (const ExecSpace &, const View< DT, DL, DD, DM, DS > &dst, const View< ST, SL, SD, SM, SS > &src, const typename Impl::enable_if<(Impl::is_same< typename View< DT, DL, DD, DM, DS >::value_type, typename View< DT, DL, DD, DM, DS >::non_const_value_type >::value &&Impl::VerifyExecutionCanAccessMemorySpace< typename View< DT, DL, DD, DM, DS >::memory_space, typename View< ST, SL, SD, SM, SS >::memory_space >::value &&(unsigned(View< DT, DL, DD, DM, DS >::rank)==unsigned(View< ST, SL, SD, SM, SS >::rank))&&(0< unsigned(View< DT, DL, DD, DM, DS >::rank))&&((!Impl::is_same< typename View< DT, DL, DD, DM, DS >::array_layout, typename View< ST, SL, SD, SM, SS >::array_layout >::value)||(!Impl::is_same< DS, SS >::value)))>::type *=0) |
| Deep copy equal dimension arrays in the same space which have different layouts or specializations. More... | |
| template<class T , class L , class D , class M , class S > | |
| void | resize (View< T, L, D, M, S > &v, const typename Impl::enable_if< ViewTraits< T, L, D, M >::is_managed, size_t >::type n0, const size_t n1=0, const size_t n2=0, const size_t n3=0, const size_t n4=0, const size_t n5=0, const size_t n6=0, const size_t n7=0) |
| Resize a view with copying old data to new data at the corresponding indices. More... | |
| template<class T , class L , class D , class M , class S > | |
| void | realloc (View< T, L, D, M, S > &v, const typename Impl::enable_if< ViewTraits< T, L, D, M >::is_managed, size_t >::type n0, const size_t n1=0, const size_t n2=0, const size_t n3=0, const size_t n4=0, const size_t n5=0, const size_t n6=0, const size_t n7=0) |
| Reallocate a view without copying old data to new data. More... | |
Define Kokkos::DefaultExecutionSpace as per configuration option or chosen from the enabled execution spaces in the following order: Kokkos::Cuda, Kokkos::OpenMP, Kokkos::Threads, Kokkos::Serial
Memory access traits for views, an extension point.
These traits should be orthogonal. If there are dependencies then the MemoryTraits template must detect and enforce dependencies.
A zero value is the default for a View, indicating that none of these traits are present.
Definition at line 62 of file Kokkos_MemoryTraits.hpp.
| KOKKOS_INLINE_FUNCTION complex<RealType> Kokkos::operator+ | ( | const complex< RealType > & | x, |
| const complex< RealType > & | y | ||
| ) |
Binary + operator for complex.
Definition at line 324 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION complex<RealType> Kokkos::operator+ | ( | const complex< RealType > & | x | ) |
Unary + operator for complex.
Definition at line 332 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION complex<RealType> Kokkos::operator- | ( | const complex< RealType > & | x, |
| const complex< RealType > & | y | ||
| ) |
Binary - operator for complex.
Definition at line 340 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION complex<RealType> Kokkos::operator- | ( | const complex< RealType > & | x | ) |
Unary - operator for complex.
Definition at line 348 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION complex<RealType> Kokkos::operator* | ( | const complex< RealType > & | x, |
| const complex< RealType > & | y | ||
| ) |
Binary * operator for complex.
Definition at line 356 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION RealType Kokkos::imag | ( | const complex< RealType > & | x | ) |
Imaginary part of a complex number.
Definition at line 364 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION RealType Kokkos::real | ( | const complex< RealType > & | x | ) |
Real part of a complex number.
Definition at line 371 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION RealType Kokkos::abs | ( | const complex< RealType > & | x | ) |
Absolute value (magnitude) of a complex number.
Definition at line 378 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION complex<RealType> Kokkos::conj | ( | const complex< RealType > & | x | ) |
Conjugate of a complex number.
Definition at line 386 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION complex<RealType1> Kokkos::operator/ | ( | const complex< RealType1 > & | x, |
| const RealType2 & | y | ||
| ) |
Binary operator / for complex and real numbers.
Definition at line 395 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION complex<RealType> Kokkos::operator/ | ( | const complex< RealType > & | x, |
| const complex< RealType > & | y | ||
| ) |
Binary operator / for complex.
Definition at line 403 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION bool Kokkos::operator== | ( | const complex< RealType > & | x, |
| const complex< RealType > & | y | ||
| ) |
Equality operator for two complex numbers.
Definition at line 429 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION bool Kokkos::operator== | ( | const std::complex< RealType > & | x, |
| const complex< RealType > & | y | ||
| ) |
Equality operator for std::complex and Kokkos::complex.
Definition at line 436 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION bool Kokkos::operator== | ( | const complex< RealType1 > & | x, |
| const RealType2 & | y | ||
| ) |
Equality operator for complex and real number.
Definition at line 443 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION bool Kokkos::operator== | ( | const RealType & | x, |
| const complex< RealType > & | y | ||
| ) |
Equality operator for real and complex number.
Definition at line 450 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION bool Kokkos::operator!= | ( | const complex< RealType > & | x, |
| const complex< RealType > & | y | ||
| ) |
Inequality operator for two complex numbers.
Definition at line 457 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION bool Kokkos::operator!= | ( | const std::complex< RealType > & | x, |
| const complex< RealType > & | y | ||
| ) |
Inequality operator for std::complex and Kokkos::complex.
Definition at line 464 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION bool Kokkos::operator!= | ( | const complex< RealType1 > & | x, |
| const RealType2 & | y | ||
| ) |
Inequality operator for complex and real number.
Definition at line 471 of file Kokkos_Complex.hpp.
| KOKKOS_INLINE_FUNCTION bool Kokkos::operator!= | ( | const RealType & | x, |
| const complex< RealType > & | y | ||
| ) |
Inequality operator for real and complex number.
Definition at line 478 of file Kokkos_Complex.hpp.
| void Kokkos::finalize | ( | ) |
Finalize the spaces that were initialized via Kokkos::initialize.
| void Kokkos::finalize_all | ( | ) |
Finalize all known execution spaces.
| KOKKOS_INLINE_FUNCTION Impl::TeamThreadRangeBoundariesStruct<iType,TeamMemberType> Kokkos::TeamThreadRange | ( | const TeamMemberType & | , |
| const iType & | count | ||
| ) |
Execution policy for parallel work over a threads within a team.
The range is split over all threads in a team. The Mapping scheme depends on the architecture. This policy is used together with a parallel pattern as a nested layer within a kernel launched with the TeamPolicy. This variant expects a single count. So the range is (0,count].
| KOKKOS_INLINE_FUNCTION Impl::TeamThreadRangeBoundariesStruct<iType,TeamMemberType> Kokkos::TeamThreadRange | ( | const TeamMemberType & | , |
| const iType & | begin, | ||
| const iType & | end | ||
| ) |
Execution policy for parallel work over a threads within a team.
The range is split over all threads in a team. The Mapping scheme depends on the architecture. This policy is used together with a parallel pattern as a nested layer within a kernel launched with the TeamPolicy. This variant expects a begin and end. So the range is (begin,end].
| KOKKOS_INLINE_FUNCTION Impl::ThreadVectorRangeBoundariesStruct<iType,TeamMemberType> Kokkos::ThreadVectorRange | ( | const TeamMemberType & | , |
| const iType & | count | ||
| ) |
Execution policy for a vector parallel loop.
The range is split over all vector lanes in a thread. The Mapping scheme depends on the architecture. This policy is used together with a parallel pattern as a nested layer within a kernel launched with the TeamPolicy. This variant expects a single count. So the range is (0,count].
| KOKKOS_FORCEINLINE_FUNCTION bool Kokkos::operator== | ( | const pair< T1, T2 > & | lhs, |
| const pair< T1, T2 > & | rhs | ||
| ) |
Equality operator for Kokkos::pair.
Definition at line 332 of file Kokkos_Pair.hpp.
| KOKKOS_FORCEINLINE_FUNCTION bool Kokkos::operator!= | ( | const pair< T1, T2 > & | lhs, |
| const pair< T1, T2 > & | rhs | ||
| ) |
Inequality operator for Kokkos::pair.
Definition at line 338 of file Kokkos_Pair.hpp.
| KOKKOS_FORCEINLINE_FUNCTION bool Kokkos::operator< | ( | const pair< T1, T2 > & | lhs, |
| const pair< T1, T2 > & | rhs | ||
| ) |
Less-than operator for Kokkos::pair.
Definition at line 344 of file Kokkos_Pair.hpp.
| KOKKOS_FORCEINLINE_FUNCTION bool Kokkos::operator<= | ( | const pair< T1, T2 > & | lhs, |
| const pair< T1, T2 > & | rhs | ||
| ) |
Less-than-or-equal-to operator for Kokkos::pair.
Definition at line 350 of file Kokkos_Pair.hpp.
| KOKKOS_FORCEINLINE_FUNCTION bool Kokkos::operator> | ( | const pair< T1, T2 > & | lhs, |
| const pair< T1, T2 > & | rhs | ||
| ) |
Greater-than operator for Kokkos::pair.
Definition at line 356 of file Kokkos_Pair.hpp.
| KOKKOS_FORCEINLINE_FUNCTION bool Kokkos::operator>= | ( | const pair< T1, T2 > & | lhs, |
| const pair< T1, T2 > & | rhs | ||
| ) |
Greater-than-or-equal-to operator for Kokkos::pair.
Definition at line 362 of file Kokkos_Pair.hpp.
| KOKKOS_FORCEINLINE_FUNCTION pair<T1,T2> Kokkos::make_pair | ( | T1 | x, |
| T2 | y | ||
| ) |
Return a new pair.
This is a "nonmember constructor" for Kokkos::pair. It works just like std::make_pair.
Definition at line 371 of file Kokkos_Pair.hpp.
| KOKKOS_FORCEINLINE_FUNCTION pair<T1 &,T2 &> Kokkos::tie | ( | T1 & | x, |
| T2 & | y | ||
| ) |
Return a pair of references to the input arguments.
This compares to std::tie (new in C++11). You can use it to assign to two variables at once, from the result of a function that returns a pair. For example (__device__ and __host__ attributes omitted for brevity):
The line that uses tie() could have been written like this:
Using tie() saves two lines of code and avoids a copy of each element of the pair. The latter could be significant if one or both elements of the pair are more substantial objects than int or bool.
Definition at line 415 of file Kokkos_Pair.hpp.
|
inline |
Execute functor in parallel according to the execution policy.
A "functor" is a class containing the function to execute in parallel, data needed for that execution, and an optional execution_space typedef. Here is an example functor for parallel_for:
In the above example, WorkType is any integer type for which a valid conversion from size_t to IntType exists. Its operator() method defines the operation to parallelize, over the range of integer indices iwork=[0,work_count-1]. This compares to a single iteration iwork of a for loop. If execution_space is not defined DefaultExecutionSpace will be used.
Definition at line 197 of file Kokkos_Parallel.hpp.
|
inline |
Parallel reduction.
Example of a parallel_reduce functor for a POD (plain old data) value type:
Example of a parallel_reduce functor for an array of POD (plain old data) values:
Definition at line 306 of file Kokkos_Parallel.hpp.
|
inline |
Deep copy a value into a view.
Definition at line 1404 of file Kokkos_View.hpp.
|
inline |
A deep copy between views of compatible type, and rank zero.
Definition at line 1429 of file Kokkos_View.hpp.
|
inline |
A deep copy between views of the default specialization, compatible type, same non-zero rank, same contiguous layout.
Definition at line 1460 of file Kokkos_View.hpp.
|
inline |
Deep copy equal dimension arrays in the same space which have different layouts or specializations.
Definition at line 1534 of file Kokkos_View.hpp.
|
inline |
Deep copy a value into a view.
Definition at line 1579 of file Kokkos_View.hpp.
|
inline |
A deep copy between views of compatible type, and rank zero.
Definition at line 1605 of file Kokkos_View.hpp.
|
inline |
A deep copy between views of the default specialization, compatible type, same non-zero rank, same contiguous layout.
Definition at line 1638 of file Kokkos_View.hpp.
|
inline |
Deep copy equal dimension arrays in the same space which have different layouts or specializations.
Definition at line 1714 of file Kokkos_View.hpp.
|
inline |
Resize a view with copying old data to new data at the corresponding indices.
Definition at line 1838 of file Kokkos_View.hpp.
|
inline |
Reallocate a view without copying old data to new data.
Definition at line 1862 of file Kokkos_View.hpp.
1.8.11