VTK-m  2.0
Classes | Static Public Member Functions | Private Types | Static Private Member Functions | List of all members
vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda > Struct Reference

#include <DeviceAdapterAlgorithmCuda.h>

Inheritance diagram for vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >:

Classes

struct  BitFieldToUnorderedSetFunctor
 
struct  CountSetBitsFunctor
 
struct  PinnedErrorArray
 

Static Public Member Functions

template<typename IndicesStorage >
static VTKM_CONT vtkm::Id BitFieldToUnorderedSet (const vtkm::cont::BitField &bits, vtkm::cont::ArrayHandle< Id, IndicesStorage > &indices)
 
template<typename T , typename U , class SIn , class SOut >
static VTKM_CONT void Copy (const vtkm::cont::ArrayHandle< T, SIn > &input, vtkm::cont::ArrayHandle< U, SOut > &output)
 
template<typename T , typename U , class SIn , class SStencil , class SOut >
static VTKM_CONT void CopyIf (const vtkm::cont::ArrayHandle< U, SIn > &input, const vtkm::cont::ArrayHandle< T, SStencil > &stencil, vtkm::cont::ArrayHandle< U, SOut > &output)
 
template<typename T , typename U , class SIn , class SStencil , class SOut , class UnaryPredicate >
static VTKM_CONT void CopyIf (const vtkm::cont::ArrayHandle< U, SIn > &input, const vtkm::cont::ArrayHandle< T, SStencil > &stencil, vtkm::cont::ArrayHandle< U, SOut > &output, UnaryPredicate unary_predicate)
 
template<typename T , typename U , class SIn , class SOut >
static VTKM_CONT bool CopySubRange (const vtkm::cont::ArrayHandle< T, SIn > &input, vtkm::Id inputStartIndex, vtkm::Id numberOfElementsToCopy, vtkm::cont::ArrayHandle< U, SOut > &output, vtkm::Id outputIndex=0)
 
static VTKM_CONT vtkm::Id CountSetBits (const vtkm::cont::BitField &bits)
 
template<typename T , class SIn , class SVal , class SOut >
static VTKM_CONT void LowerBounds (const vtkm::cont::ArrayHandle< T, SIn > &input, const vtkm::cont::ArrayHandle< T, SVal > &values, vtkm::cont::ArrayHandle< vtkm::Id, SOut > &output)
 
template<typename T , class SIn , class SVal , class SOut , class BinaryCompare >
static VTKM_CONT void LowerBounds (const vtkm::cont::ArrayHandle< T, SIn > &input, const vtkm::cont::ArrayHandle< T, SVal > &values, vtkm::cont::ArrayHandle< vtkm::Id, SOut > &output, BinaryCompare binary_compare)
 
template<class SIn , class SOut >
static VTKM_CONT void LowerBounds (const vtkm::cont::ArrayHandle< vtkm::Id, SIn > &input, vtkm::cont::ArrayHandle< vtkm::Id, SOut > &values_output)
 
template<typename T , typename U , class SIn >
static VTKM_CONT U Reduce (const vtkm::cont::ArrayHandle< T, SIn > &input, U initialValue)
 
template<typename T , typename U , class SIn , class BinaryFunctor >
static VTKM_CONT U Reduce (const vtkm::cont::ArrayHandle< T, SIn > &input, U initialValue, BinaryFunctor binary_functor)
 
template<typename T , typename U , typename... SIns>
static VTKM_CONT U Reduce (const vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagMultiplexer< SIns... >> &input, U initialValue)
 
template<typename T , typename U , typename BinaryFunctor , typename... SIns>
static VTKM_CONT U Reduce (const vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagMultiplexer< SIns... >> &input, U initialValue, BinaryFunctor binary_functor)
 
template<typename T , typename U , class KIn , class VIn , class KOut , class VOut , class BinaryFunctor >
static VTKM_CONT void ReduceByKey (const vtkm::cont::ArrayHandle< T, KIn > &keys, const vtkm::cont::ArrayHandle< U, VIn > &values, vtkm::cont::ArrayHandle< T, KOut > &keys_output, vtkm::cont::ArrayHandle< U, VOut > &values_output, BinaryFunctor binary_functor)
 
template<typename T , class SIn , class SOut >
static VTKM_CONTScanExclusive (const vtkm::cont::ArrayHandle< T, SIn > &input, vtkm::cont::ArrayHandle< T, SOut > &output)
 
template<typename T , class SIn , class SOut , class BinaryFunctor >
static VTKM_CONTScanExclusive (const vtkm::cont::ArrayHandle< T, SIn > &input, vtkm::cont::ArrayHandle< T, SOut > &output, BinaryFunctor binary_functor, const T &initialValue)
 
template<typename T , class SIn , class SOut >
static VTKM_CONTScanInclusive (const vtkm::cont::ArrayHandle< T, SIn > &input, vtkm::cont::ArrayHandle< T, SOut > &output)
 
template<typename T , class SIn , class SOut , class BinaryFunctor >
static VTKM_CONTScanInclusive (const vtkm::cont::ArrayHandle< T, SIn > &input, vtkm::cont::ArrayHandle< T, SOut > &output, BinaryFunctor binary_functor)
 
template<typename T , typename U , typename KIn , typename VIn , typename VOut >
static VTKM_CONT void ScanInclusiveByKey (const vtkm::cont::ArrayHandle< T, KIn > &keys, const vtkm::cont::ArrayHandle< U, VIn > &values, vtkm::cont::ArrayHandle< U, VOut > &output)
 
template<typename T , typename U , typename KIn , typename VIn , typename VOut , typename BinaryFunctor >
static VTKM_CONT void ScanInclusiveByKey (const vtkm::cont::ArrayHandle< T, KIn > &keys, const vtkm::cont::ArrayHandle< U, VIn > &values, vtkm::cont::ArrayHandle< U, VOut > &output, BinaryFunctor binary_functor)
 
template<typename T , typename U , typename KIn , typename VIn , typename VOut >
static VTKM_CONT void ScanExclusiveByKey (const vtkm::cont::ArrayHandle< T, KIn > &keys, const vtkm::cont::ArrayHandle< U, VIn > &values, vtkm::cont::ArrayHandle< U, VOut > &output)
 
template<typename T , typename U , typename KIn , typename VIn , typename VOut , typename BinaryFunctor >
static VTKM_CONT void ScanExclusiveByKey (const vtkm::cont::ArrayHandle< T, KIn > &keys, const vtkm::cont::ArrayHandle< U, VIn > &values, vtkm::cont::ArrayHandle< U, VOut > &output, const U &initialValue, BinaryFunctor binary_functor)
 
static const VTKM_CONT_EXPORT PinnedErrorArray & GetPinnedErrorArray ()
 
static VTKM_CONT_EXPORT void CheckForErrors ()
 
static VTKM_CONT_EXPORT void SetupErrorBuffer (vtkm::exec::cuda::internal::TaskStrided &functor)
 
static VTKM_CONT_EXPORT void GetBlocksAndThreads (vtkm::UInt32 &blocks, vtkm::UInt32 &threadsPerBlock, vtkm::Id size)
 
static VTKM_CONT_EXPORT void GetBlocksAndThreads (vtkm::UInt32 &blocks, dim3 &threadsPerBlock, const dim3 &size)
 
static VTKM_CONT_EXPORT void LogKernelLaunch (const cudaFuncAttributes &func_attrs, const std::type_info &worklet_info, vtkm::UInt32 blocks, vtkm::UInt32 threadsPerBlock, vtkm::Id size)
 
static VTKM_CONT_EXPORT void LogKernelLaunch (const cudaFuncAttributes &func_attrs, const std::type_info &worklet_info, vtkm::UInt32 blocks, dim3 threadsPerBlock, const dim3 &size)
 
template<typename WType , typename IType >
static void ScheduleTask (vtkm::exec::cuda::internal::TaskStrided1D< WType, IType > &functor, vtkm::Id numInstances)
 
template<typename WType , typename IType >
static void ScheduleTask (vtkm::exec::cuda::internal::TaskStrided3D< WType, IType > &functor, vtkm::Id3 rangeMax)
 
template<class Functor >
static VTKM_CONT void Schedule (Functor functor, vtkm::Id numInstances)
 
template<class Functor >
static VTKM_CONT void Schedule (Functor functor, const vtkm::Id3 &rangeMax)
 
template<typename T , class Storage >
static VTKM_CONT void Sort (vtkm::cont::ArrayHandle< T, Storage > &values)
 
template<typename T , class Storage , class BinaryCompare >
static VTKM_CONT void Sort (vtkm::cont::ArrayHandle< T, Storage > &values, BinaryCompare binary_compare)
 
template<typename T , typename U , class StorageT , class StorageU >
static VTKM_CONT void SortByKey (vtkm::cont::ArrayHandle< T, StorageT > &keys, vtkm::cont::ArrayHandle< U, StorageU > &values)
 
template<typename T , typename U , class StorageT , class StorageU , class BinaryCompare >
static VTKM_CONT void SortByKey (vtkm::cont::ArrayHandle< T, StorageT > &keys, vtkm::cont::ArrayHandle< U, StorageU > &values, BinaryCompare binary_compare)
 
template<typename T , class Storage >
static VTKM_CONT void Unique (vtkm::cont::ArrayHandle< T, Storage > &values)
 
template<typename T , class Storage , class BinaryCompare >
static VTKM_CONT void Unique (vtkm::cont::ArrayHandle< T, Storage > &values, BinaryCompare binary_compare)
 
template<typename T , class SIn , class SVal , class SOut >
static VTKM_CONT void UpperBounds (const vtkm::cont::ArrayHandle< T, SIn > &input, const vtkm::cont::ArrayHandle< T, SVal > &values, vtkm::cont::ArrayHandle< vtkm::Id, SOut > &output)
 
template<typename T , class SIn , class SVal , class SOut , class BinaryCompare >
static VTKM_CONT void UpperBounds (const vtkm::cont::ArrayHandle< T, SIn > &input, const vtkm::cont::ArrayHandle< T, SVal > &values, vtkm::cont::ArrayHandle< vtkm::Id, SOut > &output, BinaryCompare binary_compare)
 
template<class SIn , class SOut >
static VTKM_CONT void UpperBounds (const vtkm::cont::ArrayHandle< vtkm::Id, SIn > &input, vtkm::cont::ArrayHandle< vtkm::Id, SOut > &values_output)
 
static VTKM_CONT void Synchronize ()
 

Private Types

using Superclass = vtkm::cont::internal::DeviceAdapterAlgorithmGeneral< vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >, vtkm::cont::DeviceAdapterTagCuda >
 

Static Private Member Functions

template<class InputPortal , class OutputPortal >
static VTKM_CONT void CopyPortal (const InputPortal &input, const OutputPortal &output)
 
template<class ValueIterator , class StencilPortal , class OutputPortal , class UnaryPredicate >
static VTKM_CONT vtkm::Id CopyIfPortal (ValueIterator valuesBegin, ValueIterator valuesEnd, StencilPortal stencil, OutputPortal output, UnaryPredicate unary_predicate)
 
template<class ValuePortal , class StencilPortal , class OutputPortal , class UnaryPredicate >
static VTKM_CONT vtkm::Id CopyIfPortal (ValuePortal values, StencilPortal stencil, OutputPortal output, UnaryPredicate unary_predicate)
 
template<class InputPortal , class OutputPortal >
static VTKM_CONT void CopySubRangePortal (const InputPortal &input, vtkm::Id inputOffset, vtkm::Id size, const OutputPortal &output, vtkm::Id outputOffset)
 
template<class InputPortal , class ValuesPortal , class OutputPortal >
static VTKM_CONT void LowerBoundsPortal (const InputPortal &input, const ValuesPortal &values, const OutputPortal &output)
 
template<class InputPortal , class OutputPortal >
static VTKM_CONT void LowerBoundsPortal (const InputPortal &input, const OutputPortal &values_output)
 
template<class InputPortal , class ValuesPortal , class OutputPortal , class BinaryCompare >
static VTKM_CONT void LowerBoundsPortal (const InputPortal &input, const ValuesPortal &values, const OutputPortal &output, BinaryCompare binary_compare)
 
template<class InputPortal , typename T >
static VTKM_CONTReducePortal (const InputPortal &input, T initialValue)
 
template<class InputPortal , typename T , class BinaryFunctor >
static VTKM_CONTReducePortal (const InputPortal &input, T initialValue, BinaryFunctor binary_functor)
 
template<class InputPortal , typename T , class BinaryFunctor >
static VTKM_CONTReducePortalImpl (const InputPortal &input, T initialValue, BinaryFunctor binary_functor, std::true_type)
 
template<class InputPortal , typename T , class BinaryFunctor >
static VTKM_CONTReducePortalImpl (const InputPortal &input, T initialValue, BinaryFunctor binary_functor, std::false_type)
 
template<class KeysPortal , class ValuesPortal , class KeysOutputPortal , class ValueOutputPortal , class BinaryFunctor >
static VTKM_CONT vtkm::Id ReduceByKeyPortal (const KeysPortal &keys, const ValuesPortal &values, const KeysOutputPortal &keys_output, const ValueOutputPortal &values_output, BinaryFunctor binary_functor)
 
template<class InputPortal , class OutputPortal >
static VTKM_CONT InputPortal::ValueType ScanExclusivePortal (const InputPortal &input, const OutputPortal &output)
 
template<class InputPortal , class OutputPortal , class BinaryFunctor >
static VTKM_CONT InputPortal::ValueType ScanExclusivePortal (const InputPortal &input, const OutputPortal &output, BinaryFunctor binaryOp, typename InputPortal::ValueType initialValue)
 
template<class InputPortal , class OutputPortal >
static VTKM_CONT InputPortal::ValueType ScanInclusivePortal (const InputPortal &input, const OutputPortal &output)
 
template<class InputPortal , class OutputPortal , class BinaryFunctor >
static VTKM_CONT InputPortal::ValueType ScanInclusivePortal (const InputPortal &input, const OutputPortal &output, BinaryFunctor binary_functor)
 
template<typename KeysPortal , typename ValuesPortal , typename OutputPortal >
static VTKM_CONT void ScanInclusiveByKeyPortal (const KeysPortal &keys, const ValuesPortal &values, const OutputPortal &output)
 
template<typename KeysPortal , typename ValuesPortal , typename OutputPortal , typename BinaryPredicate , typename AssociativeOperator >
static VTKM_CONT void ScanInclusiveByKeyPortal (const KeysPortal &keys, const ValuesPortal &values, const OutputPortal &output, BinaryPredicate binary_predicate, AssociativeOperator binary_operator)
 
template<typename KeysPortal , typename ValuesPortal , typename OutputPortal >
static VTKM_CONT void ScanExclusiveByKeyPortal (const KeysPortal &keys, const ValuesPortal &values, const OutputPortal &output)
 
template<typename KeysPortal , typename ValuesPortal , typename OutputPortal , typename T , typename BinaryPredicate , typename AssociativeOperator >
static VTKM_CONT void ScanExclusiveByKeyPortal (const KeysPortal &keys, const ValuesPortal &values, const OutputPortal &output, T initValue, BinaryPredicate binary_predicate, AssociativeOperator binary_operator)
 
template<class ValuesPortal >
static VTKM_CONT void SortPortal (const ValuesPortal &values)
 
template<class ValuesPortal , class BinaryCompare >
static VTKM_CONT void SortPortal (const ValuesPortal &values, BinaryCompare binary_compare)
 
template<class KeysPortal , class ValuesPortal >
static VTKM_CONT void SortByKeyPortal (const KeysPortal &keys, const ValuesPortal &values)
 
template<class KeysPortal , class ValuesPortal , class BinaryCompare >
static VTKM_CONT void SortByKeyPortal (const KeysPortal &keys, const ValuesPortal &values, BinaryCompare binary_compare)
 
template<class ValuesPortal >
static VTKM_CONT vtkm::Id UniquePortal (const ValuesPortal values)
 
template<class ValuesPortal , class BinaryCompare >
static VTKM_CONT vtkm::Id UniquePortal (const ValuesPortal values, BinaryCompare binary_compare)
 
template<class InputPortal , class ValuesPortal , class OutputPortal >
static VTKM_CONT void UpperBoundsPortal (const InputPortal &input, const ValuesPortal &values, const OutputPortal &output)
 
template<class InputPortal , class ValuesPortal , class OutputPortal , class BinaryCompare >
static VTKM_CONT void UpperBoundsPortal (const InputPortal &input, const ValuesPortal &values, const OutputPortal &output, BinaryCompare binary_compare)
 
template<class InputPortal , class OutputPortal >
static VTKM_CONT void UpperBoundsPortal (const InputPortal &input, const OutputPortal &values_output)
 
template<typename GlobalPopCountType , typename BitsPortal , typename IndicesPortal >
static VTKM_CONT vtkm::Id BitFieldToUnorderedSetPortal (const BitsPortal &bits, const IndicesPortal &indices)
 
template<typename GlobalPopCountType , typename BitsPortal >
static VTKM_CONT vtkm::Id CountSetBitsPortal (const BitsPortal &bits)
 

Member Typedef Documentation

◆ Superclass

using vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Superclass = vtkm::cont::internal::DeviceAdapterAlgorithmGeneral< vtkm::cont::DeviceAdapterAlgorithm<vtkm::cont::DeviceAdapterTagCuda>, vtkm::cont::DeviceAdapterTagCuda>
private

Member Function Documentation

◆ BitFieldToUnorderedSet()

template<typename IndicesStorage >
static VTKM_CONT vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSet ( const vtkm::cont::BitField bits,
vtkm::cont::ArrayHandle< Id, IndicesStorage > &  indices 
)
inlinestatic

◆ BitFieldToUnorderedSetPortal()

template<typename GlobalPopCountType , typename BitsPortal , typename IndicesPortal >
static VTKM_CONT vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::BitFieldToUnorderedSetPortal ( const BitsPortal &  bits,
const IndicesPortal &  indices 
)
inlinestaticprivate

◆ CheckForErrors()

static VTKM_CONT_EXPORT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CheckForErrors ( )
static

◆ Copy()

template<typename T , typename U , class SIn , class SOut >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Copy ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
vtkm::cont::ArrayHandle< U, SOut > &  output 
)
inlinestatic

◆ CopyIf() [1/2]

template<typename T , typename U , class SIn , class SStencil , class SOut >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CopyIf ( const vtkm::cont::ArrayHandle< U, SIn > &  input,
const vtkm::cont::ArrayHandle< T, SStencil > &  stencil,
vtkm::cont::ArrayHandle< U, SOut > &  output 
)
inlinestatic

◆ CopyIf() [2/2]

template<typename T , typename U , class SIn , class SStencil , class SOut , class UnaryPredicate >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CopyIf ( const vtkm::cont::ArrayHandle< U, SIn > &  input,
const vtkm::cont::ArrayHandle< T, SStencil > &  stencil,
vtkm::cont::ArrayHandle< U, SOut > &  output,
UnaryPredicate  unary_predicate 
)
inlinestatic

◆ CopyIfPortal() [1/2]

template<class ValueIterator , class StencilPortal , class OutputPortal , class UnaryPredicate >
static VTKM_CONT vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CopyIfPortal ( ValueIterator  valuesBegin,
ValueIterator  valuesEnd,
StencilPortal  stencil,
OutputPortal  output,
UnaryPredicate  unary_predicate 
)
inlinestaticprivate

◆ CopyIfPortal() [2/2]

template<class ValuePortal , class StencilPortal , class OutputPortal , class UnaryPredicate >
static VTKM_CONT vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CopyIfPortal ( ValuePortal  values,
StencilPortal  stencil,
OutputPortal  output,
UnaryPredicate  unary_predicate 
)
inlinestaticprivate

◆ CopyPortal()

template<class InputPortal , class OutputPortal >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CopyPortal ( const InputPortal &  input,
const OutputPortal &  output 
)
inlinestaticprivate

◆ CopySubRange()

template<typename T , typename U , class SIn , class SOut >
static VTKM_CONT bool vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CopySubRange ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
vtkm::Id  inputStartIndex,
vtkm::Id  numberOfElementsToCopy,
vtkm::cont::ArrayHandle< U, SOut > &  output,
vtkm::Id  outputIndex = 0 
)
inlinestatic

◆ CopySubRangePortal()

template<class InputPortal , class OutputPortal >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CopySubRangePortal ( const InputPortal &  input,
vtkm::Id  inputOffset,
vtkm::Id  size,
const OutputPortal &  output,
vtkm::Id  outputOffset 
)
inlinestaticprivate

◆ CountSetBits()

static VTKM_CONT vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CountSetBits ( const vtkm::cont::BitField bits)
inlinestatic

◆ CountSetBitsPortal()

template<typename GlobalPopCountType , typename BitsPortal >
static VTKM_CONT vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::CountSetBitsPortal ( const BitsPortal &  bits)
inlinestaticprivate

◆ GetBlocksAndThreads() [1/2]

static VTKM_CONT_EXPORT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::GetBlocksAndThreads ( vtkm::UInt32 blocks,
dim3 &  threadsPerBlock,
const dim3 &  size 
)
static

◆ GetBlocksAndThreads() [2/2]

static VTKM_CONT_EXPORT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::GetBlocksAndThreads ( vtkm::UInt32 blocks,
vtkm::UInt32 threadsPerBlock,
vtkm::Id  size 
)
static

◆ GetPinnedErrorArray()

static const VTKM_CONT_EXPORT PinnedErrorArray& vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::GetPinnedErrorArray ( )
static

◆ LogKernelLaunch() [1/2]

static VTKM_CONT_EXPORT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::LogKernelLaunch ( const cudaFuncAttributes &  func_attrs,
const std::type_info &  worklet_info,
vtkm::UInt32  blocks,
dim3  threadsPerBlock,
const dim3 &  size 
)
static

◆ LogKernelLaunch() [2/2]

static VTKM_CONT_EXPORT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::LogKernelLaunch ( const cudaFuncAttributes &  func_attrs,
const std::type_info &  worklet_info,
vtkm::UInt32  blocks,
vtkm::UInt32  threadsPerBlock,
vtkm::Id  size 
)
static

◆ LowerBounds() [1/3]

template<typename T , class SIn , class SVal , class SOut >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::LowerBounds ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
const vtkm::cont::ArrayHandle< T, SVal > &  values,
vtkm::cont::ArrayHandle< vtkm::Id, SOut > &  output 
)
inlinestatic

◆ LowerBounds() [2/3]

template<typename T , class SIn , class SVal , class SOut , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::LowerBounds ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
const vtkm::cont::ArrayHandle< T, SVal > &  values,
vtkm::cont::ArrayHandle< vtkm::Id, SOut > &  output,
BinaryCompare  binary_compare 
)
inlinestatic

◆ LowerBounds() [3/3]

template<class SIn , class SOut >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::LowerBounds ( const vtkm::cont::ArrayHandle< vtkm::Id, SIn > &  input,
vtkm::cont::ArrayHandle< vtkm::Id, SOut > &  values_output 
)
inlinestatic

◆ LowerBoundsPortal() [1/3]

template<class InputPortal , class OutputPortal >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::LowerBoundsPortal ( const InputPortal &  input,
const OutputPortal &  values_output 
)
inlinestaticprivate

◆ LowerBoundsPortal() [2/3]

template<class InputPortal , class ValuesPortal , class OutputPortal >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::LowerBoundsPortal ( const InputPortal &  input,
const ValuesPortal &  values,
const OutputPortal &  output 
)
inlinestaticprivate

◆ LowerBoundsPortal() [3/3]

template<class InputPortal , class ValuesPortal , class OutputPortal , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::LowerBoundsPortal ( const InputPortal &  input,
const ValuesPortal &  values,
const OutputPortal &  output,
BinaryCompare  binary_compare 
)
inlinestaticprivate

◆ Reduce() [1/4]

template<typename T , typename U , class SIn >
static VTKM_CONT U vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Reduce ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
U  initialValue 
)
inlinestatic

◆ Reduce() [2/4]

template<typename T , typename U , class SIn , class BinaryFunctor >
static VTKM_CONT U vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Reduce ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
U  initialValue,
BinaryFunctor  binary_functor 
)
inlinestatic

◆ Reduce() [3/4]

template<typename T , typename U , typename... SIns>
static VTKM_CONT U vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Reduce ( const vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagMultiplexer< SIns... >> &  input,
U  initialValue 
)
inlinestatic

◆ Reduce() [4/4]

template<typename T , typename U , typename BinaryFunctor , typename... SIns>
static VTKM_CONT U vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Reduce ( const vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagMultiplexer< SIns... >> &  input,
U  initialValue,
BinaryFunctor  binary_functor 
)
inlinestatic

◆ ReduceByKey()

template<typename T , typename U , class KIn , class VIn , class KOut , class VOut , class BinaryFunctor >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ReduceByKey ( const vtkm::cont::ArrayHandle< T, KIn > &  keys,
const vtkm::cont::ArrayHandle< U, VIn > &  values,
vtkm::cont::ArrayHandle< T, KOut > &  keys_output,
vtkm::cont::ArrayHandle< U, VOut > &  values_output,
BinaryFunctor  binary_functor 
)
inlinestatic

◆ ReduceByKeyPortal()

template<class KeysPortal , class ValuesPortal , class KeysOutputPortal , class ValueOutputPortal , class BinaryFunctor >
static VTKM_CONT vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ReduceByKeyPortal ( const KeysPortal &  keys,
const ValuesPortal &  values,
const KeysOutputPortal &  keys_output,
const ValueOutputPortal &  values_output,
BinaryFunctor  binary_functor 
)
inlinestaticprivate

◆ ReducePortal() [1/2]

template<class InputPortal , typename T >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ReducePortal ( const InputPortal &  input,
initialValue 
)
inlinestaticprivate

◆ ReducePortal() [2/2]

template<class InputPortal , typename T , class BinaryFunctor >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ReducePortal ( const InputPortal &  input,
initialValue,
BinaryFunctor  binary_functor 
)
inlinestaticprivate

◆ ReducePortalImpl() [1/2]

template<class InputPortal , typename T , class BinaryFunctor >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ReducePortalImpl ( const InputPortal &  input,
initialValue,
BinaryFunctor  binary_functor,
std::false_type   
)
inlinestaticprivate

◆ ReducePortalImpl() [2/2]

template<class InputPortal , typename T , class BinaryFunctor >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ReducePortalImpl ( const InputPortal &  input,
initialValue,
BinaryFunctor  binary_functor,
std::true_type   
)
inlinestaticprivate

◆ ScanExclusive() [1/2]

template<typename T , class SIn , class SOut >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanExclusive ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
vtkm::cont::ArrayHandle< T, SOut > &  output 
)
inlinestatic

◆ ScanExclusive() [2/2]

template<typename T , class SIn , class SOut , class BinaryFunctor >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanExclusive ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
vtkm::cont::ArrayHandle< T, SOut > &  output,
BinaryFunctor  binary_functor,
const T &  initialValue 
)
inlinestatic

◆ ScanExclusiveByKey() [1/2]

template<typename T , typename U , typename KIn , typename VIn , typename VOut >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanExclusiveByKey ( const vtkm::cont::ArrayHandle< T, KIn > &  keys,
const vtkm::cont::ArrayHandle< U, VIn > &  values,
vtkm::cont::ArrayHandle< U, VOut > &  output 
)
inlinestatic

◆ ScanExclusiveByKey() [2/2]

template<typename T , typename U , typename KIn , typename VIn , typename VOut , typename BinaryFunctor >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanExclusiveByKey ( const vtkm::cont::ArrayHandle< T, KIn > &  keys,
const vtkm::cont::ArrayHandle< U, VIn > &  values,
vtkm::cont::ArrayHandle< U, VOut > &  output,
const U initialValue,
BinaryFunctor  binary_functor 
)
inlinestatic

◆ ScanExclusiveByKeyPortal() [1/2]

template<typename KeysPortal , typename ValuesPortal , typename OutputPortal >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanExclusiveByKeyPortal ( const KeysPortal &  keys,
const ValuesPortal &  values,
const OutputPortal &  output 
)
inlinestaticprivate

◆ ScanExclusiveByKeyPortal() [2/2]

template<typename KeysPortal , typename ValuesPortal , typename OutputPortal , typename T , typename BinaryPredicate , typename AssociativeOperator >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanExclusiveByKeyPortal ( const KeysPortal &  keys,
const ValuesPortal &  values,
const OutputPortal &  output,
initValue,
BinaryPredicate  binary_predicate,
AssociativeOperator  binary_operator 
)
inlinestaticprivate

◆ ScanExclusivePortal() [1/2]

template<class InputPortal , class OutputPortal >
static VTKM_CONT InputPortal::ValueType vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanExclusivePortal ( const InputPortal &  input,
const OutputPortal &  output 
)
inlinestaticprivate

◆ ScanExclusivePortal() [2/2]

template<class InputPortal , class OutputPortal , class BinaryFunctor >
static VTKM_CONT InputPortal::ValueType vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanExclusivePortal ( const InputPortal &  input,
const OutputPortal &  output,
BinaryFunctor  binaryOp,
typename InputPortal::ValueType  initialValue 
)
inlinestaticprivate

◆ ScanInclusive() [1/2]

template<typename T , class SIn , class SOut >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanInclusive ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
vtkm::cont::ArrayHandle< T, SOut > &  output 
)
inlinestatic

◆ ScanInclusive() [2/2]

template<typename T , class SIn , class SOut , class BinaryFunctor >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanInclusive ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
vtkm::cont::ArrayHandle< T, SOut > &  output,
BinaryFunctor  binary_functor 
)
inlinestatic

◆ ScanInclusiveByKey() [1/2]

template<typename T , typename U , typename KIn , typename VIn , typename VOut >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanInclusiveByKey ( const vtkm::cont::ArrayHandle< T, KIn > &  keys,
const vtkm::cont::ArrayHandle< U, VIn > &  values,
vtkm::cont::ArrayHandle< U, VOut > &  output 
)
inlinestatic

◆ ScanInclusiveByKey() [2/2]

template<typename T , typename U , typename KIn , typename VIn , typename VOut , typename BinaryFunctor >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanInclusiveByKey ( const vtkm::cont::ArrayHandle< T, KIn > &  keys,
const vtkm::cont::ArrayHandle< U, VIn > &  values,
vtkm::cont::ArrayHandle< U, VOut > &  output,
BinaryFunctor  binary_functor 
)
inlinestatic

◆ ScanInclusiveByKeyPortal() [1/2]

template<typename KeysPortal , typename ValuesPortal , typename OutputPortal >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanInclusiveByKeyPortal ( const KeysPortal &  keys,
const ValuesPortal &  values,
const OutputPortal &  output 
)
inlinestaticprivate

◆ ScanInclusiveByKeyPortal() [2/2]

template<typename KeysPortal , typename ValuesPortal , typename OutputPortal , typename BinaryPredicate , typename AssociativeOperator >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanInclusiveByKeyPortal ( const KeysPortal &  keys,
const ValuesPortal &  values,
const OutputPortal &  output,
BinaryPredicate  binary_predicate,
AssociativeOperator  binary_operator 
)
inlinestaticprivate

◆ ScanInclusivePortal() [1/2]

template<class InputPortal , class OutputPortal >
static VTKM_CONT InputPortal::ValueType vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanInclusivePortal ( const InputPortal &  input,
const OutputPortal &  output 
)
inlinestaticprivate

◆ ScanInclusivePortal() [2/2]

template<class InputPortal , class OutputPortal , class BinaryFunctor >
static VTKM_CONT InputPortal::ValueType vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScanInclusivePortal ( const InputPortal &  input,
const OutputPortal &  output,
BinaryFunctor  binary_functor 
)
inlinestaticprivate

◆ Schedule() [1/2]

template<class Functor >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Schedule ( Functor  functor,
const vtkm::Id3 rangeMax 
)
inlinestatic

◆ Schedule() [2/2]

template<class Functor >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Schedule ( Functor  functor,
vtkm::Id  numInstances 
)
inlinestatic

◆ ScheduleTask() [1/2]

template<typename WType , typename IType >
static void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScheduleTask ( vtkm::exec::cuda::internal::TaskStrided1D< WType, IType > &  functor,
vtkm::Id  numInstances 
)
inlinestatic

◆ ScheduleTask() [2/2]

template<typename WType , typename IType >
static void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::ScheduleTask ( vtkm::exec::cuda::internal::TaskStrided3D< WType, IType > &  functor,
vtkm::Id3  rangeMax 
)
inlinestatic

◆ SetupErrorBuffer()

static VTKM_CONT_EXPORT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::SetupErrorBuffer ( vtkm::exec::cuda::internal::TaskStrided &  functor)
static

◆ Sort() [1/2]

template<typename T , class Storage >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Sort ( vtkm::cont::ArrayHandle< T, Storage > &  values)
inlinestatic

◆ Sort() [2/2]

template<typename T , class Storage , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Sort ( vtkm::cont::ArrayHandle< T, Storage > &  values,
BinaryCompare  binary_compare 
)
inlinestatic

◆ SortByKey() [1/2]

template<typename T , typename U , class StorageT , class StorageU >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::SortByKey ( vtkm::cont::ArrayHandle< T, StorageT > &  keys,
vtkm::cont::ArrayHandle< U, StorageU > &  values 
)
inlinestatic

◆ SortByKey() [2/2]

template<typename T , typename U , class StorageT , class StorageU , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::SortByKey ( vtkm::cont::ArrayHandle< T, StorageT > &  keys,
vtkm::cont::ArrayHandle< U, StorageU > &  values,
BinaryCompare  binary_compare 
)
inlinestatic

◆ SortByKeyPortal() [1/2]

template<class KeysPortal , class ValuesPortal >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::SortByKeyPortal ( const KeysPortal &  keys,
const ValuesPortal &  values 
)
inlinestaticprivate

◆ SortByKeyPortal() [2/2]

template<class KeysPortal , class ValuesPortal , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::SortByKeyPortal ( const KeysPortal &  keys,
const ValuesPortal &  values,
BinaryCompare  binary_compare 
)
inlinestaticprivate

◆ SortPortal() [1/2]

template<class ValuesPortal >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::SortPortal ( const ValuesPortal &  values)
inlinestaticprivate

◆ SortPortal() [2/2]

template<class ValuesPortal , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::SortPortal ( const ValuesPortal &  values,
BinaryCompare  binary_compare 
)
inlinestaticprivate

◆ Synchronize()

static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Synchronize ( )
inlinestatic

◆ Unique() [1/2]

template<typename T , class Storage >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Unique ( vtkm::cont::ArrayHandle< T, Storage > &  values)
inlinestatic

◆ Unique() [2/2]

template<typename T , class Storage , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::Unique ( vtkm::cont::ArrayHandle< T, Storage > &  values,
BinaryCompare  binary_compare 
)
inlinestatic

◆ UniquePortal() [1/2]

template<class ValuesPortal >
static VTKM_CONT vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::UniquePortal ( const ValuesPortal  values)
inlinestaticprivate

◆ UniquePortal() [2/2]

template<class ValuesPortal , class BinaryCompare >
static VTKM_CONT vtkm::Id vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::UniquePortal ( const ValuesPortal  values,
BinaryCompare  binary_compare 
)
inlinestaticprivate

◆ UpperBounds() [1/3]

template<typename T , class SIn , class SVal , class SOut >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::UpperBounds ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
const vtkm::cont::ArrayHandle< T, SVal > &  values,
vtkm::cont::ArrayHandle< vtkm::Id, SOut > &  output 
)
inlinestatic

◆ UpperBounds() [2/3]

template<typename T , class SIn , class SVal , class SOut , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::UpperBounds ( const vtkm::cont::ArrayHandle< T, SIn > &  input,
const vtkm::cont::ArrayHandle< T, SVal > &  values,
vtkm::cont::ArrayHandle< vtkm::Id, SOut > &  output,
BinaryCompare  binary_compare 
)
inlinestatic

◆ UpperBounds() [3/3]

template<class SIn , class SOut >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::UpperBounds ( const vtkm::cont::ArrayHandle< vtkm::Id, SIn > &  input,
vtkm::cont::ArrayHandle< vtkm::Id, SOut > &  values_output 
)
inlinestatic

◆ UpperBoundsPortal() [1/3]

template<class InputPortal , class OutputPortal >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::UpperBoundsPortal ( const InputPortal &  input,
const OutputPortal &  values_output 
)
inlinestaticprivate

◆ UpperBoundsPortal() [2/3]

template<class InputPortal , class ValuesPortal , class OutputPortal >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::UpperBoundsPortal ( const InputPortal &  input,
const ValuesPortal &  values,
const OutputPortal &  output 
)
inlinestaticprivate

◆ UpperBoundsPortal() [3/3]

template<class InputPortal , class ValuesPortal , class OutputPortal , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagCuda >::UpperBoundsPortal ( const InputPortal &  input,
const ValuesPortal &  values,
const OutputPortal &  output,
BinaryCompare  binary_compare 
)
inlinestaticprivate

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