Kokkos Core Kernels Package Version of the Day
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
Kokkos::Impl Namespace Reference

ScopeGuard Some user scope issues have been identified with some Kokkos::finalize calls; ScopeGuard aims to correct these issues. More...

Classes

struct  FunctorPolicyExecutionSpace
 Given a Functor and Execution Policy query an execution space. More...
 
struct  MemorySpaceAccess
 Access relationship between DstMemorySpace and SrcMemorySpace. More...
 
class  ParallelFor
 Implementation of the ParallelFor operator that has a partial specialization for the device. More...
 
class  ParallelReduce
 Implementation detail of parallel_reduce. More...
 
class  ParallelScan
 Implementation detail of parallel_scan. More...
 
struct  ViewToDynRankViewTag
 Assign compatible default mappings. More...
 

Enumerations

enum  : unsigned
 Memory alignment settings. More...
 

Functions

void init_lock_array_host_space ()
 Initialize lock array for arbitrary size atomics.
 
bool lock_address_host_space (void *ptr)
 Acquire a lock for the address.
 
void unlock_address_host_space (void *ptr)
 Release lock for the address.
 
template<unsigned , typename iType0 , class MapType >
KOKKOS_INLINE_FUNCTION bool dyn_rank_view_verify_operator_bounds (const iType0 &, const MapType &)
 Debug bounds-checking routines.
 

Detailed Description

ScopeGuard Some user scope issues have been identified with some Kokkos::finalize calls; ScopeGuard aims to correct these issues.

Two requirements for ScopeGuard: if Kokkos::is_initialized() in the constructor, don't call Kokkos::initialize or Kokkos::finalize it is not copyable or assignable

Enumeration Type Documentation

◆ anonymous enum

Memory alignment settings.

Sets global value for memory alignment. Must be a power of two! Enable compatibility of views from different devices with static stride. Use compiler flag to enable overwrites.

Definition at line 93 of file Kokkos_MemoryTraits.hpp.

Function Documentation

◆ init_lock_array_host_space()

void Kokkos::Impl::init_lock_array_host_space ( )

Initialize lock array for arbitrary size atomics.

Arbitrary atomics are implemented using a hash table of locks where the hash value is derived from the address of the object for which an atomic operation is performed. This function initializes the locks to zero (unset).

◆ lock_address_host_space()

bool Kokkos::Impl::lock_address_host_space ( void * ptr)

Acquire a lock for the address.

This function tries to acquire the lock for the hash value derived from the provided ptr. If the lock is successfully acquired the function returns true. Otherwise it returns false.

◆ unlock_address_host_space()

void Kokkos::Impl::unlock_address_host_space ( void * ptr)

Release lock for the address.

This function releases the lock for the hash value derived from the provided ptr. This function should only be called after previously successfully acquiring a lock with lock_address.

◆ dyn_rank_view_verify_operator_bounds()

KOKKOS_INLINE_FUNCTION bool Kokkos::Impl::dyn_rank_view_verify_operator_bounds ( const iType0 & ,
const MapType &  )

Debug bounds-checking routines.

Definition at line 211 of file Kokkos_DynRankView.hpp.