Project
Loading...
Searching...
No Matches
o2::gpu::GPUProcessor Class Reference

#include <GPUProcessor.h>

Inherited by o2::gpu::GPUTRDTracker_t< GPUTRDTrackGPU, GPUTRDPropagatorGPU >, o2::gpu::GPUTRDTracker_t< GPUTRDTrack, GPUTRDPropagator >, o2::gpu::GPUChainTracking::GPUTrackingFlatObjects, o2::gpu::GPUITSFitter, o2::gpu::GPUReconstructionCPU::GPUProcessorProcessors, o2::gpu::GPUTPCClusterFinder, o2::gpu::GPUTPCCompression, o2::gpu::GPUTPCConvert, o2::gpu::GPUTPCDecompression, o2::gpu::GPUTPCGMMerger, o2::gpu::GPUTPCTracker, o2::gpu::GPUTRDTracker_t< TRDTRK, PROP >, o2::gpu::GPUTrackingInputProvider, and o2::gpu::GPUTrackingRefitProcessor.

Public Types

enum  ProcessorType { PROCESSOR_TYPE_CPU = 0 , PROCESSOR_TYPE_DEVICE = 1 , PROCESSOR_TYPE_SLAVE = 2 }
 

Public Member Functions

 GPUProcessor ()
 
 ~GPUProcessor ()
 
 GPUProcessor (const GPUProcessor &)=delete
 
GPUProcessoroperator= (const GPUProcessor &)=delete
 
 GPUd () GPUconstantref() const GPUConstantMem *GetConstantMem() const
 
 GPUd () GPUconstantref() const GPUParam &Param() const
 
 GPUd () void raiseError(uint32_t code
 
const GPUReconstructionGetRec () const
 
void InitGPUProcessor (GPUReconstruction *rec, ProcessorType type=PROCESSOR_TYPE_CPU, GPUProcessor *slaveProcessor=nullptr)
 
void Clear ()
 
template<class T >
T & HostProcessor (T *)
 

Static Public Member Functions

template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static size_t getAlignmentMod (size_t addr)
 
template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static size_t getAlignment (size_t addr)
 
template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static size_t nextMultipleOf (size_t size)
 
template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static voidalignPointer (void *ptr)
 
template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static size_t getAlignmentMod (void *addr)
 
template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static size_t getAlignment (void *addr)
 
template<size_t alignment = GPUCA_BUFFER_ALIGNMENT, class S >
static SgetPointerWithAlignment (size_t &basePtr, size_t nEntries=1)
 
template<size_t alignment = GPUCA_BUFFER_ALIGNMENT, class S >
static SgetPointerWithAlignment (void *&basePtr, size_t nEntries=1)
 
template<size_t alignment = GPUCA_BUFFER_ALIGNMENT, class T , class S >
static void computePointerWithAlignment (T *&basePtr, S *&objPtr, size_t nEntries=1)
 
template<class T , class S >
static void computePointerWithoutAlignment (T *&basePtr, S *&objPtr, size_t nEntries=1)
 

Public Attributes

uint32_t param1 = 0
 
uint32_t uint32_t param2 = 0
 
uint32_t uint32_t uint32_t param3 = 0) const
 

Protected Member Functions

void AllocateAndInitializeLate ()
 
 GPUconstantref () const GPUConstantMem *mConstantMem
 

Protected Attributes

GPUReconstructionmRec
 
ProcessorType mGPUProcessorType
 
GPUProcessormLinkedProcessor
 

Friends

class GPUReconstruction
 
class GPUReconstructionCPU
 
class GPUMemoryResource
 
class GPUTPCNeighboursFinder
 

Detailed Description

Definition at line 33 of file GPUProcessor.h.

Member Enumeration Documentation

◆ ProcessorType

Enumerator
PROCESSOR_TYPE_CPU 
PROCESSOR_TYPE_DEVICE 
PROCESSOR_TYPE_SLAVE 

Definition at line 40 of file GPUProcessor.h.

Constructor & Destructor Documentation

◆ GPUProcessor() [1/2]

GPUProcessor::GPUProcessor ( )

Definition at line 21 of file GPUProcessor.cxx.

◆ ~GPUProcessor()

GPUProcessor::~GPUProcessor ( )

Definition at line 23 of file GPUProcessor.cxx.

◆ GPUProcessor() [2/2]

o2::gpu::GPUProcessor::GPUProcessor ( const GPUProcessor )
delete

Member Function Documentation

◆ alignPointer()

template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static void * o2::gpu::GPUProcessor::alignPointer ( void ptr)
inlinestatic

Definition at line 89 of file GPUProcessor.h.

◆ AllocateAndInitializeLate()

void o2::gpu::GPUProcessor::AllocateAndInitializeLate ( )
inlineprotected

Definition at line 146 of file GPUProcessor.h.

◆ Clear()

void GPUProcessor::Clear ( )

Definition at line 41 of file GPUProcessor.cxx.

◆ computePointerWithAlignment()

template<size_t alignment = GPUCA_BUFFER_ALIGNMENT, class T , class S >
static void o2::gpu::GPUProcessor::computePointerWithAlignment ( T *&  basePtr,
S *&  objPtr,
size_t  nEntries = 1 
)
inlinestatic

Definition at line 126 of file GPUProcessor.h.

◆ computePointerWithoutAlignment()

template<class T , class S >
static void o2::gpu::GPUProcessor::computePointerWithoutAlignment ( T *&  basePtr,
S *&  objPtr,
size_t  nEntries = 1 
)
inlinestatic

Definition at line 134 of file GPUProcessor.h.

◆ getAlignment() [1/2]

template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static size_t o2::gpu::GPUProcessor::getAlignment ( size_t  addr)
inlinestatic

Definition at line 75 of file GPUProcessor.h.

◆ getAlignment() [2/2]

template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static size_t o2::gpu::GPUProcessor::getAlignment ( void addr)
inlinestatic

Definition at line 99 of file GPUProcessor.h.

◆ getAlignmentMod() [1/2]

template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static size_t o2::gpu::GPUProcessor::getAlignmentMod ( size_t  addr)
inlinestatic

Definition at line 66 of file GPUProcessor.h.

◆ getAlignmentMod() [2/2]

template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static size_t o2::gpu::GPUProcessor::getAlignmentMod ( void addr)
inlinestatic

Definition at line 94 of file GPUProcessor.h.

◆ getPointerWithAlignment() [1/2]

template<size_t alignment = GPUCA_BUFFER_ALIGNMENT, class S >
static S * o2::gpu::GPUProcessor::getPointerWithAlignment ( size_t &  basePtr,
size_t  nEntries = 1 
)
inlinestatic

Definition at line 104 of file GPUProcessor.h.

◆ getPointerWithAlignment() [2/2]

template<size_t alignment = GPUCA_BUFFER_ALIGNMENT, class S >
static S * o2::gpu::GPUProcessor::getPointerWithAlignment ( void *&  basePtr,
size_t  nEntries = 1 
)
inlinestatic

Definition at line 117 of file GPUProcessor.h.

◆ GetRec()

const GPUReconstruction & o2::gpu::GPUProcessor::GetRec ( ) const
inline

Definition at line 54 of file GPUProcessor.h.

◆ GPUconstantref()

o2::gpu::GPUProcessor::GPUconstantref ( ) const
protected

◆ GPUd() [1/3]

o2::gpu::GPUProcessor::GPUd ( ) const

◆ GPUd() [2/3]

o2::gpu::GPUProcessor::GPUd ( ) const &

◆ GPUd() [3/3]

o2::gpu::GPUProcessor::GPUd ( )

◆ HostProcessor()

template<class T >
T & o2::gpu::GPUProcessor::HostProcessor ( T *  )
inline

Definition at line 60 of file GPUProcessor.h.

◆ InitGPUProcessor()

void GPUProcessor::InitGPUProcessor ( GPUReconstruction rec,
GPUProcessor::ProcessorType  type = PROCESSOR_TYPE_CPU,
GPUProcessor slaveProcessor = nullptr 
)

Definition at line 30 of file GPUProcessor.cxx.

◆ nextMultipleOf()

template<size_t alignment = GPUCA_BUFFER_ALIGNMENT>
static size_t o2::gpu::GPUProcessor::nextMultipleOf ( size_t  size)
inlinestatic

Definition at line 84 of file GPUProcessor.h.

◆ operator=()

GPUProcessor & o2::gpu::GPUProcessor::operator= ( const GPUProcessor )
delete

Friends And Related Symbol Documentation

◆ GPUMemoryResource

friend class GPUMemoryResource
friend

Definition at line 37 of file GPUProcessor.h.

◆ GPUReconstruction

friend class GPUReconstruction
friend

Definition at line 35 of file GPUProcessor.h.

◆ GPUReconstructionCPU

Definition at line 36 of file GPUProcessor.h.

◆ GPUTPCNeighboursFinder

Definition at line 156 of file GPUProcessor.h.

Member Data Documentation

◆ mGPUProcessorType

ProcessorType o2::gpu::GPUProcessor::mGPUProcessorType
protected

Definition at line 149 of file GPUProcessor.h.

◆ mLinkedProcessor

GPUProcessor* o2::gpu::GPUProcessor::mLinkedProcessor
protected

Definition at line 150 of file GPUProcessor.h.

◆ mRec

GPUReconstruction* o2::gpu::GPUProcessor::mRec
protected

Definition at line 148 of file GPUProcessor.h.

◆ param1

uint32_t o2::gpu::GPUProcessor::param1 = 0

Definition at line 53 of file GPUProcessor.h.

◆ param2

uint32_t uint32_t o2::gpu::GPUProcessor::param2 = 0

Definition at line 53 of file GPUProcessor.h.

◆ param3

uint32_t uint32_t uint32_t o2::gpu::GPUProcessor::param3 = 0) const

Definition at line 53 of file GPUProcessor.h.


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