alpaka
Abstraction Library for Parallel Kernel Acceleration
alpaka::trait::detail::EmulationBase Struct Reference

#include <AtomicUniformCudaHipBuiltIn.hpp>

+ Inheritance diagram for alpaka::trait::detail::EmulationBase:

Static Public Member Functions

template<typename TAddressType >
static __device__ auto reinterpretAddress (TAddressType *address) -> std::enable_if_t< sizeof(TAddressType)==4u, unsigned int * >
 reinterprets an address as an 32bit value for atomicCas emulation usage More...
 
template<typename TAddressType >
static __device__ auto reinterpretAddress (TAddressType *address) -> std::enable_if_t< sizeof(TAddressType)==8u, unsigned long long int * >
 reinterprets a address as an 64bit value for atomicCas emulation usage More...
 
template<typename T_Type >
static __device__ auto reinterpretValue (T_Type value)
 reinterprets a value to be usable for the atomicCAS emulation More...
 

Detailed Description

Definition at line 33 of file AtomicUniformCudaHipBuiltIn.hpp.

Member Function Documentation

◆ reinterpretAddress() [1/2]

template<typename TAddressType >
static __device__ auto alpaka::trait::detail::EmulationBase::reinterpretAddress ( TAddressType *  address) -> std::enable_if_t<sizeof(TAddressType) == 4u, unsigned int*>
inlinestatic

reinterprets an address as an 32bit value for atomicCas emulation usage

Definition at line 37 of file AtomicUniformCudaHipBuiltIn.hpp.

◆ reinterpretAddress() [2/2]

template<typename TAddressType >
static __device__ auto alpaka::trait::detail::EmulationBase::reinterpretAddress ( TAddressType *  address) -> std::enable_if_t<sizeof(TAddressType) == 8u, unsigned long long int*>
inlinestatic

reinterprets a address as an 64bit value for atomicCas emulation usage

Definition at line 45 of file AtomicUniformCudaHipBuiltIn.hpp.

◆ reinterpretValue()

template<typename T_Type >
static __device__ auto alpaka::trait::detail::EmulationBase::reinterpretValue ( T_Type  value)
inlinestatic

reinterprets a value to be usable for the atomicCAS emulation

Definition at line 53 of file AtomicUniformCudaHipBuiltIn.hpp.


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