ATLAS Offline Software
|
Base class for GPU-accelerated cluster processing tools to be called from CaloGPUHybridClusterProcessor
.
More...
#include <CaloClusterGPUProcessor.h>
Public Member Functions | |
virtual StatusCode | execute (const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, void *temporary_buffer) const =0 |
Process the clusters on GPU. More... | |
virtual size_t | size_of_temporaries () const |
The size (in bytes) of the temporary object(s) that the algorithm will use. More... | |
DeclareInterfaceID (CaloClusterGPUProcessor, 1, 0) | |
Base class for GPU-accelerated cluster processing tools to be called from CaloGPUHybridClusterProcessor
.
execute
method that takes as an argument a EventContext
, a CaloRecGPU::ConstantDataHolder
and a CaloRecGPU::EventDataHolder
. Definition at line 26 of file CaloClusterGPUProcessor.h.
CaloClusterGPUProcessor::DeclareInterfaceID | ( | CaloClusterGPUProcessor | , |
1 | , | ||
0 | |||
) |
|
pure virtual |
Process the clusters on GPU.
ctx | The event context. |
constant_data | Data held in GPU memory that is common to all events (cell noise and geometry). |
event_data | Data held in GPU memory that is specific to this event (including the description of the clusters themselves). |
temporary_buffer | A pointer to an \array in GPU memory that is at least as large as size_of_temporaries() , to hold temporary information for the algorithms. Given the way CUDA memory allocations work, casting this to a pointer (or a CaloRecGPU::Helpers::CUDA_kernel_object ) to the intended type and then using it will be perfectly valid. |
Implemented in TopoAutomatonClustering, BasicGPUClusterInfoCalculator, GPUClusterInfoAndMomentsCalculator, TopoAutomatonSplitting, CaloGPUOutput, and CaloCellsCounterGPU.
|
inlinevirtual |
The size (in bytes) of the temporary object(s) that the algorithm will use.
Reimplemented in BasicGPUClusterInfoCalculator.
Definition at line 48 of file CaloClusterGPUProcessor.h.