VTK-m  2.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CountSetBitsFunctor Struct Reference
Inheritance diagram for vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CountSetBitsFunctor:
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_CONT CountSetBitsFunctor (const BitsPortal &portal, GlobalPopCountType *globalPopCount)
 
 ~CountSetBitsFunctor ()
 
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 Reduce () const
 

Private Attributes

const BitsPortal Portal
 
GlobalPopCountType * GlobalPopCount
 
vtkm::Int32 LocalPopCount { 0 }
 
vtkm::Id FinalWordIndex { 0 }
 
Word FinalWordMask { 0 }
 

Member Typedef Documentation

◆ Word

Constructor & Destructor Documentation

◆ CountSetBitsFunctor()

VTKM_CONT vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CountSetBitsFunctor::CountSetBitsFunctor ( const BitsPortal &  portal,
GlobalPopCountType *  globalPopCount 
)
inline

◆ ~CountSetBitsFunctor()

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

Member Function Documentation

◆ Finalize()

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

◆ Initialize()

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

◆ operator()()

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

◆ Reduce()

VTKM_SUPPRESS_EXEC_WARNINGS __device__ void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CountSetBitsFunctor::Reduce ( ) const
inlineprivate

◆ VTKM_STATIC_ASSERT_MSG()

vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CountSetBitsFunctor::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

◆ FinalWordIndex

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

◆ FinalWordMask

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

◆ GlobalPopCount

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

◆ LocalPopCount

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

◆ Portal

const BitsPortal vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CountSetBitsFunctor::Portal
private

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