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 | Array |
Derived from the C++17 'std::array'. Dropping the iterator interface. More... | |
class | complex |
Partial reimplementation of std::complex that works as the result of a Kokkos::parallel_reduce. More... | |
struct | LaunchBounds |
Specify Launch Bounds for CUDA execution. More... | |
struct | SpaceAccessibility |
Can AccessSpace access MemorySpace ? More... | |
class | ScopeGuard |
ScopeGuard Some user scope issues have been identified with some Kokkos::finalize calls; ScopeGuard aims to correct these issues. More... | |
class | Crs |
Compressed row storage array. More... | |
class | RangePolicy |
Execution policy for work over a range of an integral type. More... | |
class | TeamPolicy |
Execution policy for parallel work over a league of teams of threads. 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 | pair |
Replacement for std::pair that works on CUDA devices. More... | |
class | ScratchMemorySpace |
Scratch memory space associated with an execution space. More... | |
class | Timer |
Time since construction. More... | |
class | ViewTraits |
Traits class for accessing attributes of a View. More... | |
class | View |
View to an array of data. More... | |
class | Bitset |
A thread safe view to a bitset. More... | |
class | ConstBitset |
class | GraphRowViewConst |
View of a row of a sparse graph. More... | |
class | StaticCrsGraph |
Compressed row storage array. More... | |
class | UnorderedMapInsertResult |
First element of the return value of UnorderedMap::insert(). More... | |
class | UnorderedMap |
Thread-safe, performance-portable lookup table. More... | |
Typedefs | |
template<class T > | |
using | OwningRawPtr = T * |
Trivial wrapper for raw pointers that express ownership. More... | |
template<class T > | |
using | ObservingRawPtr = T * |
Trivial wrapper for raw pointers that do not express ownership. More... | |
Enumerations | |
enum | MemoryTraitsFlags |
Memory access traits for views, an extension point. More... | |
Functions | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION bool | operator== (complex< RealType1 > const &x, complex< RealType2 > const &y) noexcept |
Binary == operator for complex complex. More... | |
template<class RealType1 , class RealType2 > | |
bool | operator== (std::complex< RealType1 > const &x, complex< RealType2 > const &y) noexcept |
Binary == operator for std::complex complex. More... | |
template<class RealType1 , class RealType2 > | |
bool | operator== (complex< RealType1 > const &x, std::complex< RealType2 > const &y) noexcept |
Binary == operator for complex std::complex. More... | |
template<class RealType1 , class RealType2 , typename std::enable_if< std::is_convertible< RealType2, RealType1 >::value, int >::type = 0> | |
KOKKOS_INLINE_FUNCTION bool | operator== (complex< RealType1 > const &x, RealType2 const &y) noexcept |
Binary == operator for complex real. More... | |
template<class RealType1 , class RealType2 , typename std::enable_if< std::is_convertible< RealType1, RealType2 >::value, int >::type = 0> | |
KOKKOS_INLINE_FUNCTION bool | operator== (RealType1 const &x, complex< RealType2 > const &y) noexcept |
Binary == operator for real complex. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION bool | operator!= (complex< RealType1 > const &x, complex< RealType2 > const &y) noexcept |
Binary != operator for complex complex. More... | |
template<class RealType1 , class RealType2 > | |
bool | operator!= (std::complex< RealType1 > const &x, complex< RealType2 > const &y) noexcept |
Binary != operator for std::complex complex. More... | |
template<class RealType1 , class RealType2 > | |
bool | operator!= (complex< RealType1 > const &x, std::complex< RealType2 > const &y) noexcept |
Binary != operator for complex std::complex. More... | |
template<class RealType1 , class RealType2 , typename std::enable_if< std::is_convertible< RealType2, RealType1 >::value, int >::type = 0> | |
KOKKOS_INLINE_FUNCTION bool | operator!= (complex< RealType1 > const &x, RealType2 const &y) noexcept |
Binary != operator for complex real. More... | |
template<class RealType1 , class RealType2 , typename std::enable_if< std::is_convertible< RealType1, RealType2 >::value, int >::type = 0> | |
KOKKOS_INLINE_FUNCTION bool | operator!= (RealType1 const &x, complex< RealType2 > const &y) noexcept |
Binary != operator for real complex. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator+ (const complex< RealType1 > &x, const complex< RealType2 > &y) noexcept |
Binary + operator for complex complex. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator+ (const complex< RealType1 > &x, const RealType2 &y) noexcept |
Binary + operator for complex scalar. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator+ (const RealType1 &x, const complex< RealType2 > &y) noexcept |
Binary + operator for scalar complex. More... | |
template<class RealType > | |
KOKKOS_INLINE_FUNCTION complex < RealType > | operator+ (const complex< RealType > &x) noexcept |
Unary + operator for complex. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator- (const complex< RealType1 > &x, const complex< RealType2 > &y) noexcept |
Binary - operator for complex. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator- (const complex< RealType1 > &x, const RealType2 &y) noexcept |
Binary - operator for complex scalar. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator- (const RealType1 &x, const complex< RealType2 > &y) noexcept |
Binary - operator for scalar complex. More... | |
template<class RealType > | |
KOKKOS_INLINE_FUNCTION complex < RealType > | operator- (const complex< RealType > &x) noexcept |
Unary - operator for complex. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator* (const complex< RealType1 > &x, const complex< RealType2 > &y) noexcept |
Binary * operator for complex. More... | |
template<class RealType1 , class RealType2 > | |
complex< typename std::common_type< RealType1, RealType2 >::type > | operator* (const std::complex< RealType1 > &x, const complex< RealType2 > &y) |
Binary * operator for std::complex and complex. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator* (const RealType1 &x, const complex< RealType2 > &y) noexcept |
Binary * operator for RealType times complex. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator* (const complex< RealType1 > &y, const RealType2 &x) noexcept |
Binary * operator for RealType times complex. More... | |
template<class RealType > | |
KOKKOS_INLINE_FUNCTION RealType | imag (const complex< RealType > &x) noexcept |
Imaginary part of a complex number. More... | |
template<class RealType > | |
KOKKOS_INLINE_FUNCTION RealType | real (const complex< RealType > &x) noexcept |
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 Kokkos::complex< RealType > | pow (const complex< RealType > &x, const RealType &e) |
Power of a complex number. More... | |
template<class RealType > | |
KOKKOS_INLINE_FUNCTION Kokkos::complex< RealType > | sqrt (const complex< RealType > &x) |
Square root of a complex number. More... | |
template<class RealType > | |
KOKKOS_INLINE_FUNCTION complex < RealType > | conj (const complex< RealType > &x) noexcept |
Conjugate of a complex number. More... | |
template<class RealType > | |
KOKKOS_INLINE_FUNCTION complex < RealType > | exp (const complex< RealType > &x) |
Exponential of a complex number. More... | |
template<class RealType > | |
complex< RealType > | exp (const std::complex< RealType > &c) |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator/ (const complex< RealType1 > &x, const RealType2 &y) noexcept(noexcept(RealType1{}/RealType2{})) |
Binary operator / for complex and real numbers. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator/ (const complex< RealType1 > &x, const complex< RealType2 > &y) noexcept(noexcept(RealType1{}/RealType2{})) |
Binary operator / for complex. More... | |
template<class RealType1 , class RealType2 > | |
KOKKOS_INLINE_FUNCTION complex < typename std::common_type < RealType1, RealType2 >::type > | operator/ (const RealType1 &x, const complex< RealType2 > &y) noexcept(noexcept(RealType1{}/RealType2{})) |
Binary operator / for complex and real numbers. More... | |
template<class DT , class... DP> | |
void | deep_copy (const View< DT, DP...> &dst, typename ViewTraits< DT, DP...>::const_value_type &value, typename std::enable_if< std::is_same< typename ViewTraits< DT, DP...>::specialize, void >::value >::type *=nullptr) |
Deep copy a value from Host memory into a view. More... | |
template<class ST , class... SP> | |
void | deep_copy (typename ViewTraits< ST, SP...>::non_const_value_type &dst, const View< ST, SP...> &src, typename std::enable_if< std::is_same< typename ViewTraits< ST, SP...>::specialize, void >::value >::type *=nullptr) |
Deep copy into a value in Host memory from a view. More... | |
template<class DT , class... DP, class ST , class... SP> | |
void | deep_copy (const View< DT, DP...> &dst, const View< ST, SP...> &src, typename std::enable_if<(std::is_same< typename ViewTraits< DT, DP...>::specialize, void >::value &&std::is_same< typename ViewTraits< ST, SP...>::specialize, void >::value &&(unsigned(ViewTraits< DT, DP...>::rank)==unsigned(0)&&unsigned(ViewTraits< ST, SP...>::rank)==unsigned(0)))>::type *=nullptr) |
A deep copy between views of compatible type, and rank zero. More... | |
template<class DT , class... DP, class ST , class... SP> | |
void | deep_copy (const View< DT, DP...> &dst, const View< ST, SP...> &src, typename std::enable_if<(std::is_same< typename ViewTraits< DT, DP...>::specialize, void >::value &&std::is_same< typename ViewTraits< ST, SP...>::specialize, void >::value &&(unsigned(ViewTraits< DT, DP...>::rank)!=0||unsigned(ViewTraits< ST, SP...>::rank)!=0))>::type *=nullptr) |
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... DP> | |
void | deep_copy (const ExecSpace &space, const View< DT, DP...> &dst, typename ViewTraits< DT, DP...>::const_value_type &value, typename std::enable_if< Kokkos::Impl::is_execution_space< ExecSpace >::value &&std::is_same< typename ViewTraits< DT, DP...>::specialize, void >::value &&Kokkos::Impl::SpaceAccessibility< ExecSpace, typename ViewTraits< DT, DP...>::memory_space >::accessible >::type *=nullptr) |
Deep copy a value from Host memory into a view. ExecSpace can access dst. More... | |
template<class ExecSpace , class DT , class... DP> | |
void | deep_copy (const ExecSpace &space, const View< DT, DP...> &dst, typename ViewTraits< DT, DP...>::const_value_type &value, typename std::enable_if< Kokkos::Impl::is_execution_space< ExecSpace >::value &&std::is_same< typename ViewTraits< DT, DP...>::specialize, void >::value &&!Kokkos::Impl::SpaceAccessibility< ExecSpace, typename ViewTraits< DT, DP...>::memory_space >::accessible >::type *=nullptr) |
Deep copy a value from Host memory into a view. ExecSpace can not access dst. More... | |
template<class ExecSpace , class ST , class... SP> | |
void | deep_copy (const ExecSpace &exec_space, typename ViewTraits< ST, SP...>::non_const_value_type &dst, const View< ST, SP...> &src, typename std::enable_if< Kokkos::Impl::is_execution_space< ExecSpace >::value &&std::is_same< typename ViewTraits< ST, SP...>::specialize, void >::value >::type *=0) |
Deep copy into a value in Host memory from a view. More... | |
template<class ExecSpace , class DT , class... DP, class ST , class... SP> | |
void | deep_copy (const ExecSpace &exec_space, const View< DT, DP...> &dst, const View< ST, SP...> &src, typename std::enable_if<(Kokkos::Impl::is_execution_space< ExecSpace >::value &&std::is_same< typename ViewTraits< DT, DP...>::specialize, void >::value &&std::is_same< typename ViewTraits< ST, SP...>::specialize, void >::value &&(unsigned(ViewTraits< DT, DP...>::rank)==unsigned(0)&&unsigned(ViewTraits< ST, SP...>::rank)==unsigned(0)))>::type *=0) |
A deep copy between views of compatible type, and rank zero. More... | |
template<class ExecSpace , class DT , class... DP, class ST , class... SP> | |
void | deep_copy (const ExecSpace &exec_space, const View< DT, DP...> &dst, const View< ST, SP...> &src, typename std::enable_if<(Kokkos::Impl::is_execution_space< ExecSpace >::value &&std::is_same< typename ViewTraits< DT, DP...>::specialize, void >::value &&std::is_same< typename ViewTraits< ST, SP...>::specialize, void >::value &&(unsigned(ViewTraits< DT, DP...>::rank)!=0||unsigned(ViewTraits< ST, SP...>::rank)!=0))>::type *=nullptr) |
A deep copy between views of the default specialization, compatible type, same non-zero rank. More... | |
template<class T , class... P> | |
std::enable_if< std::is_same < typename Kokkos::View< T, P...>::array_layout, Kokkos::LayoutLeft >::value||std::is_same < typename Kokkos::View< T, P...>::array_layout, Kokkos::LayoutRight >::value > ::type | resize (Kokkos::View< T, P...> &v, const size_t n0=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n1=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n2=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n3=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n4=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n5=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n6=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n7=KOKKOS_IMPL_CTOR_DEFAULT_ARG) |
Resize a view with copying old data to new data at the corresponding indices. More... | |
template<class I , class T , class... P> | |
std::enable_if< std::is_same < typename Kokkos::View< T, P...>::array_layout, Kokkos::LayoutLeft >::value||std::is_same < typename Kokkos::View< T, P...>::array_layout, Kokkos::LayoutRight >::value > ::type | resize (const I &arg_prop, Kokkos::View< T, P...> &v, const size_t n0=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n1=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n2=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n3=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n4=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n5=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n6=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n7=KOKKOS_IMPL_CTOR_DEFAULT_ARG) |
Resize a view with copying old data to new data at the corresponding indices. More... | |
template<class T , class... P> | |
void | resize (Kokkos::View< T, P...> &v, const typename Kokkos::View< T, P...>::array_layout &layout) |
Resize a view with copying old data to new data at the corresponding indices. More... | |
template<class T , class... P> | |
std::enable_if< std::is_same < typename Kokkos::View< T, P...>::array_layout, Kokkos::LayoutLeft >::value||std::is_same < typename Kokkos::View< T, P...>::array_layout, Kokkos::LayoutRight >::value > ::type | realloc (Kokkos::View< T, P...> &v, const size_t n0=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n1=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n2=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n3=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n4=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n5=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n6=KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n7=KOKKOS_IMPL_CTOR_DEFAULT_ARG) |
Resize a view with discarding old data. More... | |
template<class T , class... P> | |
void | realloc (Kokkos::View< T, P...> &v, const typename Kokkos::View< T, P...>::array_layout &layout) |
Resize a view with discarding old data. More... | |
void | finalize () |
Finalize the spaces that were initialized via Kokkos::initialize. More... | |
void | push_finalize_hook (std::function< void()> f) |
Push a user-defined function to be called in Kokkos::finalize, before any Kokkos state is finalized. More... | |
void | finalize_all () |
Finalize all known execution spaces. More... | |
void | print_configuration (std::ostream &, const bool detail=false) |
Print "Bill of Materials". More... | |
template<typename iType , class TeamMemberType , class _never_use_this_overload > | |
KOKKOS_INLINE_FUNCTION_DELETED Impl::TeamThreadRangeBoundariesStruct < iType, TeamMemberType > | TeamThreadRange (const TeamMemberType &, const iType &count)=delete |
Execution policy for parallel work over a threads within a team. More... | |
template<typename iType1 , typename iType2 , class TeamMemberType , class _never_use_this_overload > | |
KOKKOS_INLINE_FUNCTION_DELETED Impl::TeamThreadRangeBoundariesStruct < typename std::common_type < iType1, iType2 >::type, TeamMemberType > | TeamThreadRange (const TeamMemberType &, const iType1 &begin, const iType2 &end)=delete |
Execution policy for parallel work over a threads within a team. More... | |
template<typename iType , class TeamMemberType , class _never_use_this_overload > | |
KOKKOS_INLINE_FUNCTION_DELETED Impl::TeamThreadRangeBoundariesStruct < iType, TeamMemberType > | TeamVectorRange (const TeamMemberType &, const iType &count)=delete |
Execution policy for parallel work over a threads within a team. More... | |
template<typename iType1 , typename iType2 , class TeamMemberType , class _never_use_this_overload > | |
KOKKOS_INLINE_FUNCTION_DELETED Impl::TeamThreadRangeBoundariesStruct < typename std::common_type < iType1, iType2 >::type, TeamMemberType > | TeamVectorRange (const TeamMemberType &, const iType1 &begin, const iType2 &end)=delete |
Execution policy for parallel work over a threads within a team. More... | |
template<typename iType , class TeamMemberType , class _never_use_this_overload > | |
KOKKOS_INLINE_FUNCTION_DELETED Impl::ThreadVectorRangeBoundariesStruct < iType, TeamMemberType > | ThreadVectorRange (const TeamMemberType &, const iType &count)=delete |
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 constexpr 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 constexpr 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 constexpr 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 constexpr 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 constexpr 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 constexpr 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 std::enable_if< Kokkos::Impl::is_execution_policy< ExecPolicy >::value >::type *=nullptr) |
Execute functor in parallel according to the execution policy . More... | |
template<class PolicyType , class FunctorType , class ReturnType > | |
void | parallel_reduce (const std::string &label, const PolicyType &policy, const FunctorType &functor, ReturnType &return_value, typename std::enable_if< Kokkos::Impl::is_execution_policy< PolicyType >::value >::type *=nullptr) |
Parallel reduction. More... | |
template<int TaskEnum, typename Scheduler , typename DepFutureType , typename FunctorType > | |
Scheduler::template future_type_for_functor < typename std::decay < FunctorType >::type > | host_spawn (Impl::TaskPolicyWithScheduler< TaskEnum, Scheduler, DepFutureType > arg_policy, FunctorType &&arg_functor) |
A host control thread spawns a task with options. More... | |
template<int TaskEnum, typename Scheduler , typename DepFutureType , typename FunctorType > | |
Scheduler::template future_type_for_functor < typename std::decay < FunctorType >::type > KOKKOS_INLINE_FUNCTION | task_spawn (Impl::TaskPolicyWithScheduler< TaskEnum, Scheduler, DepFutureType > arg_policy, FunctorType &&arg_functor) |
A task spawns a task with options. More... | |
template<typename FunctorType , typename T > | |
void KOKKOS_INLINE_FUNCTION | respawn (FunctorType *arg_self, T const &arg, TaskPriority const &arg_priority=TaskPriority::Regular) |
A task respawns itself with options. More... | |
template<class... Args> | |
Impl::ViewCtorProp< typename Impl::ViewCtorProp< void, Args > ::type...> | view_alloc (Args const &...args) |
Create View allocation parameter bundle from argument list. More... | |
template<typename D , class... P> | |
KOKKOS_INLINE_FUNCTION constexpr unsigned | rank (const View< D, P...> &V) |
Temporary free function rank() until rank() is implemented in the View. More... | |
template<class DT , class... DP> | |
void | deep_copy (const DynRankView< DT, DP...> &dst, typename ViewTraits< DT, DP...>::const_value_type &value, typename std::enable_if< std::is_same< typename ViewTraits< DT, DP...>::specialize, void >::value >::type *=nullptr) |
Deep copy a value from Host memory into a view. More... | |
template<class ST , class... SP> | |
void | deep_copy (typename ViewTraits< ST, SP...>::non_const_value_type &dst, const DynRankView< ST, SP...> &src, typename std::enable_if< std::is_same< typename ViewTraits< ST, SP...>::specialize, void >::value >::type *=0) |
Deep copy into a value in Host memory from a view. More... | |
template<class DstType , class SrcType > | |
void | deep_copy (const DstType &dst, const SrcType &src, typename std::enable_if< (std::is_same< typename DstType::traits::specialize, void >::value &&std::is_same< typename SrcType::traits::specialize, void >::value &&(Kokkos::is_dyn_rank_view< DstType >::value||Kokkos::is_dyn_rank_view< SrcType >::value))>::type *=nullptr) |
A deep copy between views of the default specialization, compatible type, same rank, same contiguous layout. More... | |
template<class T , class... P> | |
void | resize (DynRankView< T, P...> &v, const size_t n0=KOKKOS_INVALID_INDEX, const size_t n1=KOKKOS_INVALID_INDEX, const size_t n2=KOKKOS_INVALID_INDEX, const size_t n3=KOKKOS_INVALID_INDEX, const size_t n4=KOKKOS_INVALID_INDEX, const size_t n5=KOKKOS_INVALID_INDEX, const size_t n6=KOKKOS_INVALID_INDEX, const size_t n7=KOKKOS_INVALID_INDEX) |
Resize a view with copying old data to new data at the corresponding indices. More... | |
template<class T , class... P> | |
void | realloc (DynRankView< T, P...> &v, const size_t n0=KOKKOS_INVALID_INDEX, const size_t n1=KOKKOS_INVALID_INDEX, const size_t n2=KOKKOS_INVALID_INDEX, const size_t n3=KOKKOS_INVALID_INDEX, const size_t n4=KOKKOS_INVALID_INDEX, const size_t n5=KOKKOS_INVALID_INDEX, const size_t n6=KOKKOS_INVALID_INDEX, const size_t n7=KOKKOS_INVALID_INDEX) |
Resize a view with copying old data to new data at the corresponding indices. More... | |
Define Kokkos::DefaultExecutionSpace as per configuration option or chosen from the enabled execution spaces in the following order: Kokkos::Cuda, Kokkos::Experimental::OpenMPTarget, Kokkos::OpenMP, Kokkos::Threads, Kokkos::Serial
using Kokkos::OwningRawPtr = typedef T* |
Trivial wrapper for raw pointers that express ownership.
Definition at line 61 of file Kokkos_PointerOwnership.hpp.
using Kokkos::ObservingRawPtr = typedef T* |
Trivial wrapper for raw pointers that do not express ownership.
Definition at line 65 of file Kokkos_PointerOwnership.hpp.
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 63 of file Kokkos_MemoryTraits.hpp.
|
noexcept |
Binary == operator for complex complex.
Definition at line 456 of file Kokkos_Complex.hpp.
|
inlinenoexcept |
Binary == operator for std::complex complex.
Definition at line 467 of file Kokkos_Complex.hpp.
|
inlinenoexcept |
Binary == operator for complex std::complex.
Definition at line 476 of file Kokkos_Complex.hpp.
|
noexcept |
Binary == operator for complex real.
Definition at line 489 of file Kokkos_Complex.hpp.
|
noexcept |
Binary == operator for real complex.
Definition at line 502 of file Kokkos_Complex.hpp.
|
noexcept |
Binary != operator for complex complex.
Definition at line 511 of file Kokkos_Complex.hpp.
|
inlinenoexcept |
Binary != operator for std::complex complex.
Definition at line 520 of file Kokkos_Complex.hpp.
|
inlinenoexcept |
Binary != operator for complex std::complex.
Definition at line 529 of file Kokkos_Complex.hpp.
|
noexcept |
Binary != operator for complex real.
Definition at line 542 of file Kokkos_Complex.hpp.
|
noexcept |
Binary != operator for real complex.
Definition at line 555 of file Kokkos_Complex.hpp.
|
noexcept |
Binary + operator for complex complex.
Definition at line 569 of file Kokkos_Complex.hpp.
|
noexcept |
Binary + operator for complex scalar.
Definition at line 579 of file Kokkos_Complex.hpp.
|
noexcept |
Binary + operator for scalar complex.
Definition at line 588 of file Kokkos_Complex.hpp.
|
noexcept |
Unary + operator for complex.
Definition at line 595 of file Kokkos_Complex.hpp.
|
noexcept |
Binary - operator for complex.
Definition at line 604 of file Kokkos_Complex.hpp.
|
noexcept |
Binary - operator for complex scalar.
Definition at line 614 of file Kokkos_Complex.hpp.
|
noexcept |
Binary - operator for scalar complex.
Definition at line 623 of file Kokkos_Complex.hpp.
|
noexcept |
Unary - operator for complex.
Definition at line 630 of file Kokkos_Complex.hpp.
|
noexcept |
Binary * operator for complex.
Definition at line 639 of file Kokkos_Complex.hpp.
|
inline |
Binary * operator for std::complex and complex.
This needs to exist because template parameters can't be deduced when conversions occur. We could probably fix this using hidden friends patterns
This function cannot be called in a CUDA device function, because std::complex's methods and nonmember functions are not marked as CUDA device functions.
Definition at line 655 of file Kokkos_Complex.hpp.
|
noexcept |
Binary * operator for RealType times complex.
This function exists because the compiler doesn't know that RealType and complex<RealType> commute with respect to operator*.
Definition at line 669 of file Kokkos_Complex.hpp.
|
noexcept |
Binary * operator for RealType times complex.
This function exists because the compiler doesn't know that RealType and complex<RealType> commute with respect to operator*.
Definition at line 681 of file Kokkos_Complex.hpp.
|
noexcept |
Imaginary part of a complex number.
Definition at line 688 of file Kokkos_Complex.hpp.
|
noexcept |
Real part of a complex number.
Definition at line 694 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 700 of file Kokkos_Complex.hpp.
KOKKOS_INLINE_FUNCTION Kokkos::complex<RealType> Kokkos::pow | ( | const complex< RealType > & | x, |
const RealType & | e | ||
) |
Power of a complex number.
Definition at line 710 of file Kokkos_Complex.hpp.
KOKKOS_INLINE_FUNCTION Kokkos::complex<RealType> Kokkos::sqrt | ( | const complex< RealType > & | x | ) |
Square root of a complex number.
Definition at line 726 of file Kokkos_Complex.hpp.
|
noexcept |
Conjugate of a complex number.
Definition at line 742 of file Kokkos_Complex.hpp.
KOKKOS_INLINE_FUNCTION complex<RealType> Kokkos::exp | ( | const complex< RealType > & | x | ) |
Exponential of a complex number.
Definition at line 749 of file Kokkos_Complex.hpp.
|
inline |
This function cannot be called in a CUDA device function, because std::complex's methods and nonmember functions are not marked as CUDA device functions.
Definition at line 764 of file Kokkos_Complex.hpp.
|
noexcept |
Binary operator / for complex and real numbers.
Definition at line 773 of file Kokkos_Complex.hpp.
|
noexcept |
Binary operator / for complex.
Definition at line 784 of file Kokkos_Complex.hpp.
|
noexcept |
Binary operator / for complex and real numbers.
Definition at line 818 of file Kokkos_Complex.hpp.
|
inline |
Deep copy a value from Host memory into a view.
Definition at line 1495 of file Kokkos_CopyViews.hpp.
|
inline |
Deep copy into a value in Host memory from a view.
Definition at line 1617 of file Kokkos_CopyViews.hpp.
|
inline |
A deep copy between views of compatible type, and rank zero.
Definition at line 1661 of file Kokkos_CopyViews.hpp.
|
inline |
A deep copy between views of the default specialization, compatible type, same non-zero rank, same contiguous layout.
Definition at line 1718 of file Kokkos_CopyViews.hpp.
|
inline |
Deep copy a value from Host memory into a view. ExecSpace can access dst.
Definition at line 2705 of file Kokkos_CopyViews.hpp.
|
inline |
Deep copy a value from Host memory into a view. ExecSpace can not access dst.
Definition at line 2748 of file Kokkos_CopyViews.hpp.
|
inline |
Deep copy into a value in Host memory from a view.
Definition at line 2793 of file Kokkos_CopyViews.hpp.
|
inline |
A deep copy between views of compatible type, and rank zero.
Definition at line 2836 of file Kokkos_CopyViews.hpp.
|
inline |
A deep copy between views of the default specialization, compatible type, same non-zero rank.
Definition at line 2890 of file Kokkos_CopyViews.hpp.
|
inline |
Resize a view with copying old data to new data at the corresponding indices.
Definition at line 3130 of file Kokkos_CopyViews.hpp.
|
inline |
Resize a view with copying old data to new data at the corresponding indices.
Definition at line 3226 of file Kokkos_CopyViews.hpp.
|
inline |
Resize a view with copying old data to new data at the corresponding indices.
Definition at line 3319 of file Kokkos_CopyViews.hpp.
|
inline |
Resize a view with discarding old data.
Definition at line 3340 of file Kokkos_CopyViews.hpp.
|
inline |
Resize a view with discarding old data.
Definition at line 3362 of file Kokkos_CopyViews.hpp.
void Kokkos::finalize | ( | ) |
Finalize the spaces that were initialized via Kokkos::initialize.
void Kokkos::push_finalize_hook | ( | std::function< void()> | f | ) |
Push a user-defined function to be called in Kokkos::finalize, before any Kokkos state is finalized.
This function is the Kokkos analog to std::atexit. If you call this with a function f, then your function will get called when Kokkos::finalize is called. Specifically, it will be called BEFORE Kokkos does any finalization. This means that all execution spaces, memory spaces, etc. that were initialized will still be initialized when your function is called.
Just like std::atexit, if you call push_finalize_hook in sequence with multiple functions (f, g, h), Kokkos::finalize will call them in reverse order (h, g, f), as if popping a stack. Furthermore, just like std::atexit, if any of your functions throws but does not catch an exception, Kokkos::finalize will call std::terminate.
void Kokkos::finalize_all | ( | ) |
Finalize all known execution spaces.
void Kokkos::print_configuration | ( | std::ostream & | , |
const bool | detail = false |
||
) |
Print "Bill of Materials".
|
delete |
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].
|
delete |
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].
|
delete |
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].
|
delete |
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].
|
delete |
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 329 of file Kokkos_Pair.hpp.
KOKKOS_FORCEINLINE_FUNCTION constexpr bool Kokkos::operator!= | ( | const pair< T1, T2 > & | lhs, |
const pair< T1, T2 > & | rhs | ||
) |
Inequality operator for Kokkos::pair.
Definition at line 336 of file Kokkos_Pair.hpp.
KOKKOS_FORCEINLINE_FUNCTION constexpr bool Kokkos::operator< | ( | const pair< T1, T2 > & | lhs, |
const pair< T1, T2 > & | rhs | ||
) |
Less-than operator for Kokkos::pair.
Definition at line 343 of file Kokkos_Pair.hpp.
KOKKOS_FORCEINLINE_FUNCTION constexpr 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 351 of file Kokkos_Pair.hpp.
KOKKOS_FORCEINLINE_FUNCTION constexpr bool Kokkos::operator> | ( | const pair< T1, T2 > & | lhs, |
const pair< T1, T2 > & | rhs | ||
) |
Greater-than operator for Kokkos::pair.
Definition at line 358 of file Kokkos_Pair.hpp.
KOKKOS_FORCEINLINE_FUNCTION constexpr 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 365 of file Kokkos_Pair.hpp.
KOKKOS_FORCEINLINE_FUNCTION constexpr 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 375 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 419 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 158 of file Kokkos_Parallel.hpp.
|
inline |
Parallel reduction.
parallel_reduce performs parallel reductions with arbitrary functions - i.e. it is not solely data based. The call expects up to 4 arguments:
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 978 of file Kokkos_Parallel_Reduce.hpp.
Scheduler::template future_type_for_functor< typename std::decay<FunctorType>::type> Kokkos::host_spawn | ( | Impl::TaskPolicyWithScheduler< TaskEnum, Scheduler, DepFutureType > | arg_policy, |
FunctorType && | arg_functor | ||
) |
A host control thread spawns a task with options.
1) Team or Serial 2) With scheduler or dependence 3) High, Normal, or Low priority
Definition at line 603 of file Kokkos_TaskScheduler.hpp.
Scheduler::template future_type_for_functor< typename std::decay<FunctorType>::type> KOKKOS_INLINE_FUNCTION Kokkos::task_spawn | ( | Impl::TaskPolicyWithScheduler< TaskEnum, Scheduler, DepFutureType > | arg_policy, |
FunctorType && | arg_functor | ||
) |
A task spawns a task with options.
1) Team or Serial 2) With scheduler or dependence 3) High, Normal, or Low priority
Definition at line 636 of file Kokkos_TaskScheduler.hpp.
void KOKKOS_INLINE_FUNCTION Kokkos::respawn | ( | FunctorType * | arg_self, |
T const & | arg, | ||
TaskPriority const & | arg_priority = TaskPriority::Regular |
||
) |
A task respawns itself with options.
1) With scheduler or dependence 2) High, Normal, or Low priority
Definition at line 672 of file Kokkos_TaskScheduler.hpp.
|
inline |
Create View allocation parameter bundle from argument list.
Valid argument list members are: 1) label as a "string" or std::string 2) memory space instance of the View::memory_space type 3) execution space instance compatible with the View::memory_space 4) Kokkos::WithoutInitializing to bypass initialization 4) Kokkos::AllowPadding to allow allocation to pad dimensions for memory alignment
Definition at line 554 of file Kokkos_View.hpp.
KOKKOS_INLINE_FUNCTION constexpr unsigned Kokkos::rank | ( | const View< D, P...> & | V | ) |
Temporary free function rank() until rank() is implemented in the View.
Definition at line 2290 of file Kokkos_View.hpp.
|
inline |
Deep copy a value from Host memory into a view.
Definition at line 1806 of file Kokkos_DynRankView.hpp.
|
inline |
Deep copy into a value in Host memory from a view.
Definition at line 1822 of file Kokkos_DynRankView.hpp.
|
inline |
A deep copy between views of the default specialization, compatible type, same rank, same contiguous layout.
Definition at line 1842 of file Kokkos_DynRankView.hpp.
|
inline |
Resize a view with copying old data to new data at the corresponding indices.
Definition at line 2133 of file Kokkos_DynRankView.hpp.
|
inline |
Resize a view with copying old data to new data at the corresponding indices.
Definition at line 2157 of file Kokkos_DynRankView.hpp.