VTK-m
2.0
|
A type list containing types that can be used with an AtomicArray. More...
#include <AtomicArray.h>
Public Types | |
using | ValueType = T |
Public Member Functions | |
VTKM_CONT | AtomicArray () |
VTKM_CONT | AtomicArray (vtkm::cont::ArrayHandle< T > handle) |
VTKM_CONT vtkm::exec::AtomicArrayExecutionObject< T > | PrepareForExecution (vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const |
Private Member Functions | |
VTKM_STATIC_ASSERT_MSG (ValueTypeIsValid, "AtomicArray used with unsupported ValueType.") | |
Static Private Attributes | |
static constexpr bool | ValueTypeIsValid = vtkm::ListHas<AtomicArrayTypeList, T>::value |
A type list containing types that can be used with an AtomicArray.
A class that can be used to atomically operate on an array of values safely across multiple instances of the same worklet. This is useful when you have an algorithm that needs to accumulate values in parallel, but writing out a value per worklet might be memory prohibitive.
To construct an AtomicArray you will need to pass in an vtkm::cont::ArrayHandle that is used as the underlying storage for the AtomicArray
Supported Operations: get / add / compare and swap (CAS). See AtomicArrayExecutionObject for details.
Supported Types: 32 / 64 bit signed/unsigned integers.
using vtkm::cont::AtomicArray< T >::ValueType = T |
|
inline |
|
inline |
|
inline |
|
private |
|
staticconstexprprivate |