Go to the documentation of this file.
18 #ifndef viskores_worklet_WorkletReduceByKey_h
19 #define viskores_worklet_WorkletReduceByKey_h
65 template <
typename Worklet>
197 #ifdef VISKORES_DOXYGEN_ONLY
201 struct WholeArrayIn : viskores::worklet::internal::WorkletBase::WholeArrayIn
206 struct WholeArrayOut : viskores::worklet::internal::WorkletBase::WholeArrayOut
221 template <
typename VisitTopology = Cell,
typename Inc
identTopology = Po
int>
223 : viskores::worklet::internal::WorkletBase::WholeCellSetIn<VisitTopology, IncidentTopology>
228 struct ExecObject : viskores::worklet::internal::WorkletBase::ExecObject
239 #ifdef VISKORES_DOXYGEN_ONLY
243 struct _1 : viskores::worklet::internal::WorkletBase::_1
261 #ifdef VISKORES_DOXYGEN_ONLY
290 struct Device : viskores::worklet::internal::WorkletBase::Device
300 template <
typename OutToInArrayType,
301 typename VisitArrayType,
302 typename ThreadToOutArrayType,
303 typename InputDomainType>
306 const OutToInArrayType& outToIn,
307 const VisitArrayType& visit,
308 const ThreadToOutArrayType& threadToOut,
309 const InputDomainType& inputDomain)
const
311 const viskores::Id outIndex = threadToOut.Get(threadIndex);
313 threadIndex, outToIn.Get(outIndex), visit.Get(outIndex), outIndex, inputDomain);
319 #endif //viskores_worklet_WorkletReduceByKey_h
Transport tag for in-place arrays.
Definition: TransportTagArrayInOut.h:41
The Array type check passes for any object that behaves like an ArrayHandle class and can be passed t...
Definition: TypeCheckTagArrayIn.h:39
viskores::exec::arg::ThreadIndicesReduceByKey GetThreadIndices(viskores::Id threadIndex, const OutToInArrayType &outToIn, const VisitArrayType &visit, const ThreadToOutArrayType &threadToOut, const InputDomainType &inputDomain) const
Reduce by key worklets use the related thread indices class.
Definition: WorkletReduceByKey.h:304
A control signature tag for output values associated with the keys.
Definition: WorkletReduceByKey.h:131
ControlSignature tag for whole input/output arrays.
Definition: WorkletReduceByKey.h:216
The ExecutionSignature tag to use to get the thread indices.
Definition: ThreadIndices.h:52
Transport tag for input arrays.
Definition: TransportTagArrayIn.h:40
ControlSignature tag for whole input arrays.
Definition: WorkletReduceByKey.h:201
ControlSignature tag for whole input/output arrays.
Definition: WorkletReduceByKey.h:211
Transport tag for input values in a reduce by key.
Definition: TransportTagKeyedValuesOut.h:36
A control signature tag for input keys.
Definition: WorkletReduceByKey.h:81
The Array type check passes for any object that behaves like an ArrayHandle class and can be passed t...
Definition: TypeCheckTagArrayInOut.h:39
#define VISKORES_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:61
A control signature tag for reduced output values.
Definition: WorkletReduceByKey.h:147
A control signature tag for input values associated with the keys.
Definition: WorkletReduceByKey.h:96
Dispatcher for worklets that inherit from WorkletReduceByKey.
Definition: DispatcherReduceByKey.h:35
Fetch tag for getting key values in a reduce by key.
Definition: FetchTagKeysIn.h:39
The base class for all tags used in a ControlSignature.
Definition: ControlSignatureTagBase.h:44
The ExecutionSignature tag to get the number of values.
Definition: ValueCount.h:48
Fetch tag for in-place modifying array values with direct indexing.
Definition: FetchTagArrayDirectInOut.h:47
The ExecutionSignature tag to use to get the visit index.
Definition: VisitIndex.h:54
ControlSignature tag for execution object inputs.
Definition: WorkletReduceByKey.h:228
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
A control signature tag for reduced input values.
Definition: WorkletReduceByKey.h:168
ControlSignature tag for whole output arrays.
Definition: WorkletReduceByKey.h:206
Groups connected points that have the same field value.
Definition: Atomic.h:27
The ExecutionSignature tag to use to get the output index.
Definition: OutputIndex.h:52
ExecutionSignature tag for getting the device adapter tag.
Definition: WorkletReduceByKey.h:290
The ExecutionSignature tag to get the number of values.
Definition: WorkletReduceByKey.h:257
Transport tag for input values in a reduce by key.
Definition: TransportTagKeyedValuesInOut.h:36
Transport tag for output arrays.
Definition: TransportTagArrayOut.h:40
The ExecutionSignature tag to use to get the thread indices.
Definition: WorkletReduceByKey.h:285
Transport tag for input values in a reduce by key.
Definition: TransportTagKeyedValuesIn.h:36
The ExecutionSignature tag to use to get the work index.
Definition: WorkletReduceByKey.h:265
The Array type check passes for any object that behaves like an ArrayHandle class and can be passed t...
Definition: TypeCheckTagArrayOut.h:39
Fetch tag for getting array values with direct indexing.
Definition: FetchTagArrayDirectIn.h:37
The ExecutionSignature tag to use to get the output index.
Definition: WorkletReduceByKey.h:280
Transport tag for keys in a reduce by key.
Definition: TransportTagKeysIn.h:36
Check for a Keys object.
Definition: TypeCheckTagKeys.h:32
The ExecutionSignature tag to use to get the visit index.
Definition: WorkletReduceByKey.h:270
Argument placeholders for an ExecutionSignature.
Definition: WorkletReduceByKey.h:243
Fetch tag for setting array values with direct indexing.
Definition: FetchTagArrayDirectOut.h:39
A control signature tag for reduced output values.
Definition: WorkletReduceByKey.h:190
A control signature tag for input/output values associated with the keys.
Definition: WorkletReduceByKey.h:113
Base class for worklets that group elements by keys.
Definition: WorkletReduceByKey.h:62
#define VISKORES_EXEC
Definition: ExportMacros.h:59
Container for thread indices in a reduce by key invocation.
Definition: ThreadIndicesReduceByKey.h:39
ControlSignature tag for whole input topology.
Definition: WorkletReduceByKey.h:222
The ExecutionSignature tag to use to get the work index.
Definition: WorkIndex.h:47