VTK-m  2.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor Struct Reference
Inheritance diagram for vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor:
vtkm::exec::FunctorBase

Public Types

using Word = vtkm::AtomicTypePreferred
 

Public Member Functions

 VTKM_STATIC_ASSERT_MSG (VTKM_PASS_COMMAS(std::is_same< GlobalPopCountType, vtkm::Int32 >::value||std::is_same< GlobalPopCountType, vtkm::UInt32 >::value||std::is_same< GlobalPopCountType, vtkm::UInt64 >::value), "Unsupported GlobalPopCountType. Must support CUDA atomicAdd.")
 
 VTKM_STATIC_ASSERT (VTKM_PASS_COMMAS(std::is_same< typename IndicesPortal::ValueType, vtkm::Id >::value))
 
VTKM_CONT BitFieldToUnorderedSetFunctor (const BitsPortal &input, const IndicesPortal &output, GlobalPopCountType *globalPopCount)
 
 ~BitFieldToUnorderedSetFunctor ()
 
VTKM_CONT void Initialize ()
 
VTKM_SUPPRESS_EXEC_WARNINGS __device__ void operator() (vtkm::Id wordIdx) const
 
VTKM_CONT vtkm::Id Finalize () const
 
- Public Member Functions inherited from vtkm::exec::FunctorBase
VTKM_EXEC_CONT FunctorBase ()
 
VTKM_EXEC void RaiseError (const char *message) const
 
VTKM_CONT void SetErrorMessageBuffer (const vtkm::exec::internal::ErrorMessageBuffer &buffer)
 Set the error message buffer so that running algorithms can report errors. More...
 

Private Member Functions

VTKM_SUPPRESS_EXEC_WARNINGS __device__ void ReduceAllocate () const
 
VTKM_SUPPRESS_EXEC_WARNINGS __device__ vtkm::Id GetNextOutputIndex () const
 

Private Attributes

const BitsPortal Input
 
const IndicesPortal Output
 
GlobalPopCountType * GlobalPopCount
 
vtkm::UInt64 AllocationHead { 0 }
 
vtkm::Int32 LocalPopCount { 0 }
 
vtkm::Id FinalWordIndex { 0 }
 
Word FinalWordMask { 0 }
 

Member Typedef Documentation

◆ Word

Constructor & Destructor Documentation

◆ BitFieldToUnorderedSetFunctor()

VTKM_CONT vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::BitFieldToUnorderedSetFunctor ( const BitsPortal &  input,
const IndicesPortal &  output,
GlobalPopCountType *  globalPopCount 
)
inline

◆ ~BitFieldToUnorderedSetFunctor()

vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::~BitFieldToUnorderedSetFunctor ( )
inline

Member Function Documentation

◆ Finalize()

VTKM_CONT vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::Finalize ( ) const
inline

◆ GetNextOutputIndex()

VTKM_SUPPRESS_EXEC_WARNINGS __device__ vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::GetNextOutputIndex ( ) const
inlineprivate

◆ Initialize()

VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::Initialize ( )
inline

◆ operator()()

VTKM_SUPPRESS_EXEC_WARNINGS __device__ void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::operator() ( vtkm::Id  wordIdx) const
inline

◆ ReduceAllocate()

VTKM_SUPPRESS_EXEC_WARNINGS __device__ void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::ReduceAllocate ( ) const
inlineprivate

◆ VTKM_STATIC_ASSERT()

vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::VTKM_STATIC_ASSERT ( VTKM_PASS_COMMAS(std::is_same< typename IndicesPortal::ValueType, vtkm::Id >::value)  )

◆ VTKM_STATIC_ASSERT_MSG()

vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::VTKM_STATIC_ASSERT_MSG ( VTKM_PASS_COMMAS(std::is_same< GlobalPopCountType, vtkm::Int32 >::value||std::is_same< GlobalPopCountType, vtkm::UInt32 >::value||std::is_same< GlobalPopCountType, vtkm::UInt64 >::value)  ,
"Unsupported GlobalPopCountType. Must support CUDA atomicAdd."   
)

Member Data Documentation

◆ AllocationHead

vtkm::UInt64 vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::AllocationHead { 0 }
mutableprivate

◆ FinalWordIndex

vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::FinalWordIndex { 0 }
private

◆ FinalWordMask

Word vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::FinalWordMask { 0 }
private

◆ GlobalPopCount

GlobalPopCountType* vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::GlobalPopCount
private

◆ Input

const BitsPortal vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::Input
private

◆ LocalPopCount

vtkm::Int32 vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::LocalPopCount { 0 }
mutableprivate

◆ Output

const IndicesPortal vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetFunctor::Output
private

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