ATLAS Offline Software
Loading...
Searching...
No Matches
CaloClusterGPUProcessor Class Referenceabstract

Base class for GPU-accelerated cluster processing tools to be called from CaloGPUHybridClusterProcessor. More...

#include <CaloClusterGPUProcessor.h>

Inheritance diagram for CaloClusterGPUProcessor:
Collaboration diagram for CaloClusterGPUProcessor:

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.
virtual size_t size_of_temporaries () const
 The size (in bytes) of the temporary object(s) that the algorithm will use.
 DeclareInterfaceID (CaloClusterGPUProcessor, 1, 0)

Detailed Description

Base class for GPU-accelerated cluster processing tools to be called from CaloGPUHybridClusterProcessor.

Author
Nuno Fernandes nuno..nosp@m.dos..nosp@m.santo.nosp@m.s.fe.nosp@m.rnand.nosp@m.es@c.nosp@m.ern.c.nosp@m.h
Date
27 May 2022

This class defines an execute method that takes as an argument a EventContext, a CaloRecGPU::ConstantDataHolder and a CaloRecGPU::EventDataHolder.

Definition at line 26 of file CaloClusterGPUProcessor.h.

Member Function Documentation

◆ DeclareInterfaceID()

CaloClusterGPUProcessor::DeclareInterfaceID ( CaloClusterGPUProcessor ,
1 ,
0  )

◆ execute()

virtual StatusCode CaloClusterGPUProcessor::execute ( const EventContext & ctx,
const CaloRecGPU::ConstantDataHolder & constant_data,
CaloRecGPU::EventDataHolder & event_data,
void * temporary_buffer ) const
pure virtual

Process the clusters on GPU.

Parameters
ctxThe event context.
constant_dataData held in GPU memory that is common to all events (cell noise and geometry).
event_dataData held in GPU memory that is specific to this event (including the description of the clusters themselves).
temporary_bufferA 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.

◆ size_of_temporaries()

virtual size_t CaloClusterGPUProcessor::size_of_temporaries ( ) const
inlinevirtual

The size (in bytes) of the temporary object(s) that the algorithm will use.

Definition at line 48 of file CaloClusterGPUProcessor.h.

49 {
50 return 0;
51 };

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