Project
Loading...
Searching...
No Matches
o2::gpu::GPUReconstruction Class Referenceabstract

#include <GPUReconstruction.h>

Inherited by o2::gpu::GPUReconstructionProcessing.

Classes

class  LibraryLoader
 
struct  MemoryReuseMeta
 
struct  ProcessorData
 

Public Types

enum  InOutPointerType : uint32_t {
  CLUSTER_DATA = 0 , SECTOR_OUT_TRACK = 1 , SECTOR_OUT_CLUSTER = 2 , MC_LABEL_TPC = 3 ,
  MC_INFO_TPC = 4 , MERGED_TRACK = 5 , MERGED_TRACK_HIT = 6 , TRD_TRACK = 7 ,
  TRD_TRACKLET = 8 , RAW_CLUSTERS = 9 , CLUSTERS_NATIVE = 10 , TRD_TRACKLET_MC = 11 ,
  TPC_COMPRESSED_CL = 12 , TPC_DIGIT = 13 , TPC_ZS = 14 , CLUSTER_NATIVE_MC = 15 ,
  TPC_DIGIT_MC = 16 , TRD_SPACEPOINT = 17 , TRD_TRIGGERRECORDS = 18 , TF_SETTINGS = 19
}
 
enum class  krnlDeviceType : int32_t { CPU = 0 , Device = 1 , Auto = -1 }
 
using GeometryType = GPUDataTypes::GeometryType
 
using DeviceType = GPUDataTypes::DeviceType
 
using RecoStep = GPUDataTypes::RecoStep
 
using GeneralStep = GPUDataTypes::GeneralStep
 
using RecoStepField = GPUDataTypes::RecoStepField
 
using InOutTypeField = GPUDataTypes::InOutTypeField
 

Public Member Functions

virtual ~GPUReconstruction ()
 
 GPUReconstruction (const GPUReconstruction &)=delete
 
GPUReconstructionoperator= (const GPUReconstruction &)=delete
 
template<class T , typename... Args>
T * AddChain (Args... args)
 
int32_t Init ()
 
int32_t Finalize ()
 
int32_t Exit ()
 
void DumpSettings (const char *dir="")
 
int32_t ReadSettings (const char *dir="")
 
void PrepareEvent ()
 
virtual int32_t RunChains ()=0
 
uint32_t getNEventsProcessed ()
 
uint32_t getNEventsProcessedInStat ()
 
int32_t registerMemoryForGPU (const void *ptr, size_t size)
 
int32_t unregisterMemoryForGPU (const void *ptr)
 
virtual voidgetGPUPointer (void *ptr)
 
virtual void startGPUProfiling ()
 
virtual void endGPUProfiling ()
 
int32_t CheckErrorCodes (bool cpuOnly=false, bool forceShowErrors=false, std::vector< std::array< uint32_t, 4 > > *fillErrors=nullptr)
 
void RunPipelineWorker ()
 
void TerminatePipelineWorker ()
 
GPUMemoryResourceRes (int16_t num)
 
template<class T >
int16_t RegisterMemoryAllocation (T *proc, void *(T::*setPtr)(void *), int32_t type, const char *name="", const GPUMemoryReuse &re=GPUMemoryReuse())
 
size_t AllocateMemoryResources ()
 
size_t AllocateRegisteredMemory (GPUProcessor *proc, bool resetCustom=false)
 
size_t AllocateRegisteredMemory (int16_t res, GPUOutputControl *control=nullptr)
 
void AllocateRegisteredForeignMemory (int16_t res, GPUReconstruction *rec, GPUOutputControl *control=nullptr)
 
voidAllocateUnmanagedMemory (size_t size, int32_t type)
 
voidAllocateVolatileDeviceMemory (size_t size)
 
voidAllocateVolatileMemory (size_t size, bool device)
 
void FreeRegisteredMemory (GPUProcessor *proc, bool freeCustom=false, bool freePermanent=false)
 
void FreeRegisteredMemory (int16_t res)
 
void ClearAllocatedMemory (bool clearOutputs=true)
 
void ReturnVolatileDeviceMemory ()
 
void ReturnVolatileMemory ()
 
void PushNonPersistentMemory (uint64_t tag)
 
void PopNonPersistentMemory (RecoStep step, uint64_t tag)
 
void BlockStackedMemory (GPUReconstruction *rec)
 
void UnblockStackedMemory ()
 
void ResetRegisteredMemoryPointers (GPUProcessor *proc)
 
void ResetRegisteredMemoryPointers (int16_t res)
 
void ComputeReuseMax (GPUProcessor *proc)
 
void PrintMemoryStatistics ()
 
void PrintMemoryOverview ()
 
void PrintMemoryMax ()
 
void SetMemoryExternalInput (int16_t res, void *ptr)
 
GPUMemorySizeScalersMemoryScalers ()
 
virtual void GetITSTraits (std::unique_ptr< o2::its::TrackerTraits > *trackerTraits, std::unique_ptr< o2::its::VertexerTraits > *vertexerTraits, std::unique_ptr< o2::its::TimeFrame > *timeFrame)
 
bool slavesExist ()
 
DeviceType GetDeviceType () const
 
bool IsGPU () const
 
const GPUParamGetParam () const
 
const GPUConstantMemGetConstantMem () const
 
const GPUSettingsGRPGetGRPSettings () const
 
const GPUSettingsDeviceBackendGetDeviceBackendSettings ()
 
const GPUSettingsProcessing & GetProcessingSettings () const
 
bool IsInitialized () const
 
void SetSettings (float solenoidBzNominalGPU, const GPURecoStepConfiguration *workflow=nullptr)
 
void SetSettings (const GPUSettingsGRP *grp, const GPUSettingsRec *rec=nullptr, const GPUSettingsProcessing *proc=nullptr, const GPURecoStepConfiguration *workflow=nullptr)
 
void SetResetTimers (bool reset)
 
void SetDebugLevelTmp (int32_t level)
 
void UpdateSettings (const GPUSettingsGRP *g, const GPUSettingsProcessing *p=nullptr, const GPUSettingsRecDynamic *d=nullptr)
 
void UpdateDynamicSettings (const GPUSettingsRecDynamic *d)
 
void SetOutputControl (const GPUOutputControl &v)
 
void SetOutputControl (void *ptr, size_t size)
 
void SetInputControl (void *ptr, size_t size)
 
GPUOutputControlOutputControl ()
 
int32_t NStreams () const
 
const voidDeviceMemoryBase () const
 
RecoStepField GetRecoSteps () const
 
RecoStepField GetRecoStepsGPU () const
 
InOutTypeField GetRecoStepsInputs () const
 
InOutTypeField GetRecoStepsOutputs () const
 
int32_t getRecoStepNum (RecoStep step, bool validCheck=true)
 
int32_t getGeneralStepNum (GeneralStep step, bool validCheck=true)
 
void setErrorCodeOutput (std::vector< std::array< uint32_t, 4 > > *v)
 
std::vector< std::array< uint32_t, 4 > > * getErrorCodeOutput ()
 
template<class T >
void RegisterGPUProcessor (T *proc, bool deviceSlave)
 
template<class T >
void SetupGPUProcessor (T *proc, bool allocate)
 
void RegisterGPUDeviceProcessor (GPUProcessor *proc, GPUProcessor *slaveProcessor)
 
void ConstructGPUProcessor (GPUProcessor *proc)
 
virtual void PrintKernelOccupancies ()
 
double GetStatKernelTime ()
 
double GetStatWallTime ()
 
int32_t GetMaxBackendThreads () const
 

Static Public Member Functions

static DeviceType GetDeviceType (const char *type)
 
static uint32_t getNIOTypeMultiplicity (InOutPointerType type)
 
static GPUReconstructionCreateInstance (const GPUSettingsDeviceBackend &cfg)
 
static GPUReconstructionCreateInstance (DeviceType type=DeviceType::CPU, bool forceType=true, GPUReconstruction *master=nullptr)
 
static GPUReconstructionCreateInstance (int32_t type, bool forceType, GPUReconstruction *master=nullptr)
 
static GPUReconstructionCreateInstance (const char *type, bool forceType, GPUReconstruction *master=nullptr)
 
static bool CheckInstanceAvailable (DeviceType type, bool verbose)
 
static int32_t getHostThreadIndex ()
 

Public Attributes

std::shared_ptr< GPUReconstructionThreadingmThreading
 

Static Public Attributes

static constexpr uint32_t NSECTORS = GPUCA_NSECTORS
 
static constexpr const char *const GEOMETRY_TYPE_NAMES [] = {"INVALID", "ALIROOT", "O2"}
 
static constexpr GeometryType geometryType = GeometryType::ALIROOT
 
static constexpr const char *const IOTYPENAMES []
 

Protected Member Functions

void AllocateRegisteredMemoryInternal (GPUMemoryResource *res, GPUOutputControl *control, GPUReconstruction *recPool)
 
void FreeRegisteredMemory (GPUMemoryResource *res)
 
 GPUReconstruction (const GPUSettingsDeviceBackend &cfg)
 
int32_t InitPhaseBeforeDevice ()
 
virtual void UpdateAutomaticProcessingSettings ()
 
virtual int32_t InitDevice ()=0
 
int32_t InitPhasePermanentMemory ()
 
int32_t InitPhaseAfterDevice ()
 
void WriteConstantParams ()
 
virtual int32_t ExitDevice ()=0
 
virtual size_t WriteToConstantMemory (size_t offset, const void *src, size_t size, int32_t stream=-1, gpu_reconstruction_kernels::deviceEvent *ev=nullptr)=0
 
void UpdateMaxMemoryUsed ()
 
int32_t EnqueuePipeline (bool terminate=false)
 
GPUChainGetNextChainInQueue ()
 
virtual int32_t registerMemoryForGPU_internal (const void *ptr, size_t size)=0
 
virtual int32_t unregisterMemoryForGPU_internal (const void *ptr)=0
 
virtual std::unique_ptr< gpu_reconstruction_kernels::threadContextGetThreadContext ()=0
 
size_t AllocateRegisteredMemoryHelper (GPUMemoryResource *res, void *&ptr, void *&memorypool, void *memorybase, size_t memorysize, void *(GPUMemoryResource::*SetPointers)(void *), void *&memorypoolend, const char *device)
 
size_t AllocateRegisteredPermanentMemory ()
 
template<class T , class S >
uint32_t DumpData (FILE *fp, const T *const *entries, const S *num, InOutPointerType type)
 
template<class T , class S >
size_t ReadData (FILE *fp, const T **entries, S *num, std::unique_ptr< T[]> *mem, InOutPointerType type, T **nonConstPtrs=nullptr)
 
template<class T >
T * AllocateIOMemoryHelper (size_t n, const T *&ptr, std::unique_ptr< T[]> &u)
 
template<class T >
void DumpFlatObjectToFile (const T *obj, const char *file)
 
template<class T >
std::unique_ptr< T > ReadFlatObjectFromFile (const char *file)
 
template<class T >
void DumpStructToFile (const T *obj, const char *file)
 
template<class T >
std::unique_ptr< T > ReadStructFromFile (const char *file)
 
template<class T >
int32_t ReadStructFromFile (const char *file, T *obj)
 
virtual RecoStepField AvailableGPURecoSteps ()
 
virtual bool CanQueryMaxMemory ()
 
GPUConstantMemprocessors ()
 
const GPUConstantMemprocessors () const
 
GPUParamparam ()
 

Static Protected Member Functions

static std::shared_ptr< LibraryLoader > * GetLibraryInstance (DeviceType type, bool verbose)
 
static GPUReconstructionGPUReconstruction_Create_CPU (const GPUSettingsDeviceBackend &cfg)
 

Protected Attributes

std::shared_ptr< LibraryLoadermMyLib = nullptr
 
std::vector< GPUMemoryResourcemMemoryResources
 
std::vector< std::unique_ptr< char[]> > mUnmanagedChunks
 
std::vector< std::unique_ptr< char[]> > mVolatileChunks
 
std::vector< std::unique_ptr< GPUChain > > mChains
 
std::unique_ptr< GPUConstantMemmHostConstantMem
 
GPUConstantMemmDeviceConstantMem = nullptr
 
GPUSettingsGRP mGRPSettings
 
GPUSettingsDeviceBackend mDeviceBackendSettings
 
GPUSettingsProcessing mProcessingSettings
 
GPUOutputControl mOutputControl
 
GPUOutputControl mInputControl
 
std::unique_ptr< GPUMemorySizeScalersmMemoryScalers
 
GPURecoStepConfiguration mRecoSteps
 
std::string mDeviceName = "CPU"
 
voidmHostMemoryBase = nullptr
 
voidmHostMemoryPermanent = nullptr
 
voidmHostMemoryPool = nullptr
 
voidmHostMemoryPoolEnd = nullptr
 
voidmHostMemoryPoolBlocked = nullptr
 
size_t mHostMemorySize = 0
 
size_t mHostMemoryUsedMax = 0
 
voidmDeviceMemoryBase = nullptr
 
voidmDeviceMemoryPermanent = nullptr
 
voidmDeviceMemoryPool = nullptr
 
voidmDeviceMemoryPoolEnd = nullptr
 
voidmDeviceMemoryPoolBlocked = nullptr
 
size_t mDeviceMemorySize = 0
 
voidmVolatileMemoryStart = nullptr
 
size_t mDeviceMemoryUsedMax = 0
 
std::unordered_set< const void * > mRegisteredMemoryPtrs
 
GPUReconstructionmMaster = nullptr
 
std::vector< GPUReconstruction * > mSlaves
 
bool mInitialized = false
 
uint32_t mStatNEvents = 0
 
uint32_t mNEventsProcessed = 0
 
double mStatKernelTime = 0.
 
double mStatWallTime = 0.
 
double mStatCPUTime = 0.
 
std::shared_ptr< GPUROOTDumpCoremROOTDump
 
std::vector< std::array< uint32_t, 4 > > * mOutputErrorCodes = nullptr
 
int32_t mMaxBackendThreads = 0
 
int32_t mGPUStuck = 0
 
int32_t mNStreams = 1
 
int32_t mMaxHostThreads = 0
 
std::vector< ProcessorDatamProcessors
 
std::unordered_map< GPUMemoryReuse::ID, MemoryReuseMetamMemoryReuse1to1
 
std::vector< std::tuple< void *, void *, size_t, uint64_t > > mNonPersistentMemoryStack
 
std::vector< GPUMemoryResource * > mNonPersistentIndividualAllocations
 
std::unique_ptr< GPUReconstructionPipelineContextmPipelineContext
 

Static Protected Attributes

static std::shared_ptr< LibraryLoadersLibCUDA
 
static std::shared_ptr< LibraryLoadersLibHIP
 
static std::shared_ptr< LibraryLoadersLibOCL
 

Detailed Description

Definition at line 58 of file GPUReconstruction.h.

Member Typedef Documentation

◆ DeviceType

using o2::gpu::GPUReconstruction::DeviceType = GPUDataTypes::DeviceType

Definition at line 77 of file GPUReconstruction.h.

◆ GeneralStep

using o2::gpu::GPUReconstruction::GeneralStep = GPUDataTypes::GeneralStep

Definition at line 79 of file GPUReconstruction.h.

◆ GeometryType

using o2::gpu::GPUReconstruction::GeometryType = GPUDataTypes::GeometryType

Definition at line 76 of file GPUReconstruction.h.

◆ InOutTypeField

◆ RecoStep

using o2::gpu::GPUReconstruction::RecoStep = GPUDataTypes::RecoStep

Definition at line 78 of file GPUReconstruction.h.

◆ RecoStepField

Member Enumeration Documentation

◆ InOutPointerType

Enumerator
CLUSTER_DATA 
SECTOR_OUT_TRACK 
SECTOR_OUT_CLUSTER 
MC_LABEL_TPC 
MC_INFO_TPC 
MERGED_TRACK 
MERGED_TRACK_HIT 
TRD_TRACK 
TRD_TRACKLET 
RAW_CLUSTERS 
CLUSTERS_NATIVE 
TRD_TRACKLET_MC 
TPC_COMPRESSED_CL 
TPC_DIGIT 
TPC_ZS 
CLUSTER_NATIVE_MC 
TPC_DIGIT_MC 
TRD_SPACEPOINT 
TRD_TRIGGERRECORDS 
TF_SETTINGS 

Definition at line 91 of file GPUReconstruction.h.

◆ krnlDeviceType

enum class o2::gpu::GPUReconstruction::krnlDeviceType : int32_t
strong
Enumerator
CPU 
Device 
Auto 

Definition at line 123 of file GPUReconstruction.h.

Constructor & Destructor Documentation

◆ ~GPUReconstruction()

GPUReconstruction::~GPUReconstruction ( )
virtual

Definition at line 102 of file GPUReconstruction.cxx.

◆ GPUReconstruction() [1/2]

o2::gpu::GPUReconstruction::GPUReconstruction ( const GPUReconstruction )
delete

◆ GPUReconstruction() [2/2]

GPUReconstruction::GPUReconstruction ( const GPUSettingsDeviceBackend cfg)
protected

Definition at line 77 of file GPUReconstruction.cxx.

Member Function Documentation

◆ AddChain()

template<class T , typename... Args>
T * o2::gpu::GPUReconstruction::AddChain ( Args...  args)
inline

Definition at line 420 of file GPUReconstruction.h.

◆ AllocateIOMemoryHelper()

template<class T >
T * o2::gpu::GPUReconstruction::AllocateIOMemoryHelper ( size_t  n,
const T *&  ptr,
std::unique_ptr< T[]> &  u 
)
inlineprotected

Definition at line 391 of file GPUReconstruction.h.

◆ AllocateMemoryResources()

size_t o2::gpu::GPUReconstruction::AllocateMemoryResources ( )

◆ AllocateRegisteredForeignMemory()

void GPUReconstruction::AllocateRegisteredForeignMemory ( int16_t  res,
GPUReconstruction rec,
GPUOutputControl control = nullptr 
)

Definition at line 661 of file GPUReconstruction.cxx.

◆ AllocateRegisteredMemory() [1/2]

size_t GPUReconstruction::AllocateRegisteredMemory ( GPUProcessor proc,
bool  resetCustom = false 
)

Definition at line 487 of file GPUReconstruction.cxx.

◆ AllocateRegisteredMemory() [2/2]

size_t GPUReconstruction::AllocateRegisteredMemory ( int16_t  res,
GPUOutputControl control = nullptr 
)

Definition at line 666 of file GPUReconstruction.cxx.

◆ AllocateRegisteredMemoryHelper()

size_t GPUReconstruction::AllocateRegisteredMemoryHelper ( GPUMemoryResource res,
void *&  ptr,
void *&  memorypool,
void memorybase,
size_t  memorysize,
void *(GPUMemoryResource::*)(void *)  SetPointers,
void *&  memorypoolend,
const char device 
)
protected

Definition at line 527 of file GPUReconstruction.cxx.

◆ AllocateRegisteredMemoryInternal()

void GPUReconstruction::AllocateRegisteredMemoryInternal ( GPUMemoryResource res,
GPUOutputControl control,
GPUReconstruction recPool 
)
protected

Definition at line 580 of file GPUReconstruction.cxx.

◆ AllocateRegisteredPermanentMemory()

size_t GPUReconstruction::AllocateRegisteredPermanentMemory ( )
protected

Definition at line 508 of file GPUReconstruction.cxx.

◆ AllocateUnmanagedMemory()

void * GPUReconstruction::AllocateUnmanagedMemory ( size_t  size,
int32_t  type 
)

Definition at line 677 of file GPUReconstruction.cxx.

◆ AllocateVolatileDeviceMemory()

void * GPUReconstruction::AllocateVolatileDeviceMemory ( size_t  size)

Definition at line 702 of file GPUReconstruction.cxx.

◆ AllocateVolatileMemory()

void * GPUReconstruction::AllocateVolatileMemory ( size_t  size,
bool  device 
)

Definition at line 724 of file GPUReconstruction.cxx.

◆ AvailableGPURecoSteps()

virtual RecoStepField o2::gpu::GPUReconstruction::AvailableGPURecoSteps ( )
inlineprotectedvirtual

Definition at line 285 of file GPUReconstruction.h.

◆ BlockStackedMemory()

void GPUReconstruction::BlockStackedMemory ( GPUReconstruction rec)

Definition at line 844 of file GPUReconstruction.cxx.

◆ CanQueryMaxMemory()

virtual bool o2::gpu::GPUReconstruction::CanQueryMaxMemory ( )
inlineprotectedvirtual

Reimplemented in o2::gpu::GPUReconstructionCUDA.

Definition at line 286 of file GPUReconstruction.h.

◆ CheckErrorCodes()

int32_t GPUReconstruction::CheckErrorCodes ( bool  cpuOnly = false,
bool  forceShowErrors = false,
std::vector< std::array< uint32_t, 4 > > *  fillErrors = nullptr 
)

Definition at line 1079 of file GPUReconstruction.cxx.

◆ CheckInstanceAvailable()

bool GPUReconstruction::CheckInstanceAvailable ( DeviceType  type,
bool  verbose 
)
static

Definition at line 79 of file GPUReconstructionLibrary.cxx.

◆ ClearAllocatedMemory()

void GPUReconstruction::ClearAllocatedMemory ( bool  clearOutputs = true)

Definition at line 869 of file GPUReconstruction.cxx.

◆ ComputeReuseMax()

void GPUReconstruction::ComputeReuseMax ( GPUProcessor proc)

Definition at line 472 of file GPUReconstruction.cxx.

◆ ConstructGPUProcessor()

void GPUReconstruction::ConstructGPUProcessor ( GPUProcessor proc)

Definition at line 470 of file GPUReconstruction.cxx.

◆ CreateInstance() [1/4]

GPUReconstruction * GPUReconstruction::CreateInstance ( const char type,
bool  forceType,
GPUReconstruction master = nullptr 
)
static

Definition at line 115 of file GPUReconstructionLibrary.cxx.

◆ CreateInstance() [2/4]

GPUReconstruction * GPUReconstruction::CreateInstance ( const GPUSettingsDeviceBackend cfg)
static

Definition at line 44 of file GPUReconstructionLibrary.cxx.

◆ CreateInstance() [3/4]

GPUReconstruction * GPUReconstruction::CreateInstance ( DeviceType  type = DeviceType::CPU,
bool  forceType = true,
GPUReconstruction master = nullptr 
)
static

Definition at line 34 of file GPUReconstructionLibrary.cxx.

◆ CreateInstance() [4/4]

static GPUReconstruction * o2::gpu::GPUReconstruction::CreateInstance ( int32_t  type,
bool  forceType,
GPUReconstruction master = nullptr 
)
inlinestatic

Definition at line 119 of file GPUReconstruction.h.

◆ DeviceMemoryBase()

const void * o2::gpu::GPUReconstruction::DeviceMemoryBase ( ) const
inline

Definition at line 205 of file GPUReconstruction.h.

◆ DumpData()

template<class T , class S >
uint32_t o2::gpu::GPUReconstruction::DumpData ( FILE *  fp,
const T *const *  entries,
const S num,
InOutPointerType  type 
)
inlineprotected

Definition at line 24 of file GPUReconstructionIO.h.

◆ DumpFlatObjectToFile()

template<class T >
void o2::gpu::GPUReconstruction::DumpFlatObjectToFile ( const T *  obj,
const char file 
)
inlineprotected

Definition at line 82 of file GPUReconstructionIO.h.

◆ DumpSettings()

void GPUReconstruction::DumpSettings ( const char dir = "")

Definition at line 1090 of file GPUReconstruction.cxx.

◆ DumpStructToFile()

template<class T >
void o2::gpu::GPUReconstruction::DumpStructToFile ( const T *  obj,
const char file 
)
inlineprotected

Definition at line 125 of file GPUReconstructionIO.h.

◆ endGPUProfiling()

virtual void o2::gpu::GPUReconstruction::endGPUProfiling ( )
inlinevirtual

Reimplemented in o2::gpu::GPUReconstructionCUDA.

Definition at line 146 of file GPUReconstruction.h.

◆ EnqueuePipeline()

int32_t GPUReconstruction::EnqueuePipeline ( bool  terminate = false)
protected

Definition at line 1024 of file GPUReconstruction.cxx.

◆ Exit()

int32_t GPUReconstruction::Exit ( )

Definition at line 439 of file GPUReconstruction.cxx.

◆ ExitDevice()

virtual int32_t o2::gpu::GPUReconstruction::ExitDevice ( )
protectedpure virtual

◆ Finalize()

int32_t GPUReconstruction::Finalize ( )

Definition at line 431 of file GPUReconstruction.cxx.

◆ FreeRegisteredMemory() [1/3]

void GPUReconstruction::FreeRegisteredMemory ( GPUMemoryResource res)
protected

Definition at line 777 of file GPUReconstruction.cxx.

◆ FreeRegisteredMemory() [2/3]

void GPUReconstruction::FreeRegisteredMemory ( GPUProcessor proc,
bool  freeCustom = false,
bool  freePermanent = false 
)

Definition at line 763 of file GPUReconstruction.cxx.

◆ FreeRegisteredMemory() [3/3]

void GPUReconstruction::FreeRegisteredMemory ( int16_t  res)

Definition at line 772 of file GPUReconstruction.cxx.

◆ GetConstantMem()

const GPUConstantMem & o2::gpu::GPUReconstruction::GetConstantMem ( ) const
inline

Definition at line 189 of file GPUReconstruction.h.

◆ GetDeviceBackendSettings()

const GPUSettingsDeviceBackend & o2::gpu::GPUReconstruction::GetDeviceBackendSettings ( )
inline

Definition at line 191 of file GPUReconstruction.h.

◆ GetDeviceType() [1/2]

DeviceType o2::gpu::GPUReconstruction::GetDeviceType ( ) const
inline

Definition at line 186 of file GPUReconstruction.h.

◆ GetDeviceType() [2/2]

static DeviceType o2::gpu::GPUReconstruction::GetDeviceType ( const char type)
static

◆ getErrorCodeOutput()

std::vector< std::array< uint32_t, 4 > > * o2::gpu::GPUReconstruction::getErrorCodeOutput ( )
inline

Definition at line 215 of file GPUReconstruction.h.

◆ getGeneralStepNum()

int32_t GPUReconstruction::getGeneralStepNum ( GeneralStep  step,
bool  validCheck = true 
)

Definition at line 981 of file GPUReconstruction.cxx.

◆ getGPUPointer()

virtual void * o2::gpu::GPUReconstruction::getGPUPointer ( void ptr)
inlinevirtual

Definition at line 144 of file GPUReconstruction.h.

◆ GetGRPSettings()

const GPUSettingsGRP & o2::gpu::GPUReconstruction::GetGRPSettings ( ) const
inline

Definition at line 190 of file GPUReconstruction.h.

◆ getHostThreadIndex()

int32_t GPUReconstruction::getHostThreadIndex ( )
static

Definition at line 122 of file GPUReconstruction.cxx.

◆ GetITSTraits()

void GPUReconstruction::GetITSTraits ( std::unique_ptr< o2::its::TrackerTraits > *  trackerTraits,
std::unique_ptr< o2::its::VertexerTraits > *  vertexerTraits,
std::unique_ptr< o2::its::TimeFrame > *  timeFrame 
)
virtual

Reimplemented in o2::gpu::GPUReconstructionCUDA.

Definition at line 109 of file GPUReconstruction.cxx.

◆ GetLibraryInstance()

std::shared_ptr< GPUReconstruction::LibraryLoader > * GPUReconstruction::GetLibraryInstance ( DeviceType  type,
bool  verbose 
)
staticprotected

Definition at line 89 of file GPUReconstructionLibrary.cxx.

◆ GetMaxBackendThreads()

int32_t o2::gpu::GPUReconstruction::GetMaxBackendThreads ( ) const
inline

Definition at line 233 of file GPUReconstruction.h.

◆ getNEventsProcessed()

uint32_t o2::gpu::GPUReconstruction::getNEventsProcessed ( )
inline

Definition at line 140 of file GPUReconstruction.h.

◆ getNEventsProcessedInStat()

uint32_t o2::gpu::GPUReconstruction::getNEventsProcessedInStat ( )
inline

Definition at line 141 of file GPUReconstruction.h.

◆ GetNextChainInQueue()

GPUChain * GPUReconstruction::GetNextChainInQueue ( )
protected

Definition at line 1053 of file GPUReconstruction.cxx.

◆ getNIOTypeMultiplicity()

static uint32_t o2::gpu::GPUReconstruction::getNIOTypeMultiplicity ( InOutPointerType  type)
inlinestatic

Definition at line 114 of file GPUReconstruction.h.

◆ GetParam()

const GPUParam & o2::gpu::GPUReconstruction::GetParam ( ) const
inline

Definition at line 188 of file GPUReconstruction.h.

◆ GetProcessingSettings()

const GPUSettingsProcessing & o2::gpu::GPUReconstruction::GetProcessingSettings ( ) const
inline

Definition at line 192 of file GPUReconstruction.h.

◆ getRecoStepNum()

int32_t GPUReconstruction::getRecoStepNum ( RecoStep  step,
bool  validCheck = true 
)

Definition at line 980 of file GPUReconstruction.cxx.

◆ GetRecoSteps()

RecoStepField o2::gpu::GPUReconstruction::GetRecoSteps ( ) const
inline

Definition at line 207 of file GPUReconstruction.h.

◆ GetRecoStepsGPU()

RecoStepField o2::gpu::GPUReconstruction::GetRecoStepsGPU ( ) const
inline

Definition at line 208 of file GPUReconstruction.h.

◆ GetRecoStepsInputs()

InOutTypeField o2::gpu::GPUReconstruction::GetRecoStepsInputs ( ) const
inline

Definition at line 209 of file GPUReconstruction.h.

◆ GetRecoStepsOutputs()

InOutTypeField o2::gpu::GPUReconstruction::GetRecoStepsOutputs ( ) const
inline

Definition at line 210 of file GPUReconstruction.h.

◆ GetStatKernelTime()

double o2::gpu::GPUReconstruction::GetStatKernelTime ( )
inline

Definition at line 227 of file GPUReconstruction.h.

◆ GetStatWallTime()

double o2::gpu::GPUReconstruction::GetStatWallTime ( )
inline

Definition at line 228 of file GPUReconstruction.h.

◆ GetThreadContext()

virtual std::unique_ptr< gpu_reconstruction_kernels::threadContext > o2::gpu::GPUReconstruction::GetThreadContext ( )
protectedpure virtual

◆ GPUReconstruction_Create_CPU()

GPUReconstruction * GPUReconstruction::GPUReconstruction_Create_CPU ( const GPUSettingsDeviceBackend cfg)
staticprotected

Definition at line 51 of file GPUReconstructionCPU.cxx.

◆ Init()

int32_t GPUReconstruction::Init ( )

Definition at line 127 of file GPUReconstruction.cxx.

◆ InitDevice()

virtual int32_t o2::gpu::GPUReconstruction::InitDevice ( )
protectedpure virtual

◆ InitPhaseAfterDevice()

int32_t GPUReconstruction::InitPhaseAfterDevice ( )
protected

Definition at line 403 of file GPUReconstruction.cxx.

◆ InitPhaseBeforeDevice()

int32_t GPUReconstruction::InitPhaseBeforeDevice ( )
protected

Definition at line 208 of file GPUReconstruction.cxx.

◆ InitPhasePermanentMemory()

int32_t GPUReconstruction::InitPhasePermanentMemory ( )
protected

Definition at line 392 of file GPUReconstruction.cxx.

◆ IsGPU()

bool o2::gpu::GPUReconstruction::IsGPU ( ) const
inline

Definition at line 187 of file GPUReconstruction.h.

◆ IsInitialized()

bool o2::gpu::GPUReconstruction::IsInitialized ( ) const
inline

Definition at line 193 of file GPUReconstruction.h.

◆ MemoryScalers()

GPUMemorySizeScalers * o2::gpu::GPUReconstruction::MemoryScalers ( )
inline

Definition at line 179 of file GPUReconstruction.h.

◆ NStreams()

int32_t o2::gpu::GPUReconstruction::NStreams ( ) const
inline

Definition at line 204 of file GPUReconstruction.h.

◆ operator=()

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

◆ OutputControl()

GPUOutputControl & o2::gpu::GPUReconstruction::OutputControl ( )
inline

Definition at line 203 of file GPUReconstruction.h.

◆ param()

GPUParam & o2::gpu::GPUReconstruction::param ( )
inlineprotected

Definition at line 291 of file GPUReconstruction.h.

◆ PopNonPersistentMemory()

void GPUReconstruction::PopNonPersistentMemory ( RecoStep  step,
uint64_t  tag 
)

Definition at line 811 of file GPUReconstruction.cxx.

◆ PrepareEvent()

void GPUReconstruction::PrepareEvent ( )

Definition at line 1060 of file GPUReconstruction.cxx.

◆ PrintKernelOccupancies()

virtual void o2::gpu::GPUReconstruction::PrintKernelOccupancies ( )
inlinevirtual

Reimplemented in o2::gpu::GPUReconstructionCUDABackend.

Definition at line 226 of file GPUReconstruction.h.

◆ PrintMemoryMax()

void GPUReconstruction::PrintMemoryMax ( )

Definition at line 892 of file GPUReconstruction.cxx.

◆ PrintMemoryOverview()

void GPUReconstruction::PrintMemoryOverview ( )

Definition at line 897 of file GPUReconstruction.cxx.

◆ PrintMemoryStatistics()

void GPUReconstruction::PrintMemoryStatistics ( )

Definition at line 906 of file GPUReconstruction.cxx.

◆ processors() [1/2]

GPUConstantMem * o2::gpu::GPUReconstruction::processors ( )
inlineprotected

Definition at line 289 of file GPUReconstruction.h.

◆ processors() [2/2]

const GPUConstantMem * o2::gpu::GPUReconstruction::processors ( ) const
inlineprotected

Definition at line 290 of file GPUReconstruction.h.

◆ PushNonPersistentMemory()

void GPUReconstruction::PushNonPersistentMemory ( uint64_t  tag)

Definition at line 806 of file GPUReconstruction.cxx.

◆ ReadData()

template<class T , class S >
size_t o2::gpu::GPUReconstruction::ReadData ( FILE *  fp,
const T **  entries,
S num,
std::unique_ptr< T[]> *  mem,
InOutPointerType  type,
T **  nonConstPtrs = nullptr 
)
inlineprotected

Definition at line 48 of file GPUReconstructionIO.h.

◆ ReadFlatObjectFromFile()

template<class T >
std::unique_ptr< T > o2::gpu::GPUReconstruction::ReadFlatObjectFromFile ( const char file)
inlineprotected

Definition at line 96 of file GPUReconstructionIO.h.

◆ ReadSettings()

int32_t GPUReconstruction::ReadSettings ( const char dir = "")

Definition at line 1125 of file GPUReconstruction.cxx.

◆ ReadStructFromFile() [1/2]

template<class T >
std::unique_ptr< T > o2::gpu::GPUReconstruction::ReadStructFromFile ( const char file)
inlineprotected

Definition at line 138 of file GPUReconstructionIO.h.

◆ ReadStructFromFile() [2/2]

template<class T >
int32_t o2::gpu::GPUReconstruction::ReadStructFromFile ( const char file,
T *  obj 
)
inlineprotected

Definition at line 161 of file GPUReconstructionIO.h.

◆ RegisterGPUDeviceProcessor()

void GPUReconstruction::RegisterGPUDeviceProcessor ( GPUProcessor proc,
GPUProcessor slaveProcessor 
)

Definition at line 469 of file GPUReconstruction.cxx.

◆ RegisterGPUProcessor()

template<class T >
void o2::gpu::GPUReconstruction::RegisterGPUProcessor ( T *  proc,
bool  deviceSlave 
)
inline

Definition at line 457 of file GPUReconstruction.h.

◆ RegisterMemoryAllocation()

template<class T >
int16_t o2::gpu::GPUReconstruction::RegisterMemoryAllocation ( T *  proc,
void *(T::*)(void *)  setPtr,
int32_t  type,
const char name = "",
const GPUMemoryReuse re = GPUMemoryReuse() 
)
inline

Definition at line 427 of file GPUReconstruction.h.

◆ registerMemoryForGPU()

int32_t GPUReconstruction::registerMemoryForGPU ( const void ptr,
size_t  size 
)

Definition at line 935 of file GPUReconstruction.cxx.

◆ registerMemoryForGPU_internal()

virtual int32_t o2::gpu::GPUReconstruction::registerMemoryForGPU_internal ( const void ptr,
size_t  size 
)
protectedpure virtual

◆ Res()

GPUMemoryResource & o2::gpu::GPUReconstruction::Res ( int16_t  num)
inline

Definition at line 152 of file GPUReconstruction.h.

◆ ResetRegisteredMemoryPointers() [1/2]

void GPUReconstruction::ResetRegisteredMemoryPointers ( GPUProcessor proc)

Definition at line 733 of file GPUReconstruction.cxx.

◆ ResetRegisteredMemoryPointers() [2/2]

void GPUReconstruction::ResetRegisteredMemoryPointers ( int16_t  res)

Definition at line 742 of file GPUReconstruction.cxx.

◆ ReturnVolatileDeviceMemory()

void GPUReconstruction::ReturnVolatileDeviceMemory ( )

Definition at line 789 of file GPUReconstruction.cxx.

◆ ReturnVolatileMemory()

void GPUReconstruction::ReturnVolatileMemory ( )

Definition at line 800 of file GPUReconstruction.cxx.

◆ RunChains()

virtual int32_t o2::gpu::GPUReconstruction::RunChains ( )
pure virtual

◆ RunPipelineWorker()

void GPUReconstruction::RunPipelineWorker ( )

Definition at line 983 of file GPUReconstruction.cxx.

◆ SetDebugLevelTmp()

void o2::gpu::GPUReconstruction::SetDebugLevelTmp ( int32_t  level)
inline

Definition at line 197 of file GPUReconstruction.h.

◆ setErrorCodeOutput()

void o2::gpu::GPUReconstruction::setErrorCodeOutput ( std::vector< std::array< uint32_t, 4 > > *  v)
inline

Definition at line 214 of file GPUReconstruction.h.

◆ SetInputControl()

void GPUReconstruction::SetInputControl ( void ptr,
size_t  size 
)

Definition at line 1181 of file GPUReconstruction.cxx.

◆ SetMemoryExternalInput()

void GPUReconstruction::SetMemoryExternalInput ( int16_t  res,
void ptr 
)

Definition at line 864 of file GPUReconstruction.cxx.

◆ SetOutputControl() [1/2]

void o2::gpu::GPUReconstruction::SetOutputControl ( const GPUOutputControl v)
inline

Definition at line 200 of file GPUReconstruction.h.

◆ SetOutputControl() [2/2]

void GPUReconstruction::SetOutputControl ( void ptr,
size_t  size 
)

Definition at line 1174 of file GPUReconstruction.cxx.

◆ SetResetTimers()

void o2::gpu::GPUReconstruction::SetResetTimers ( bool  reset)
inline

Definition at line 196 of file GPUReconstruction.h.

◆ SetSettings() [1/2]

void GPUReconstruction::SetSettings ( const GPUSettingsGRP grp,
const GPUSettingsRec rec = nullptr,
const GPUSettingsProcessing *  proc = nullptr,
const GPURecoStepConfiguration workflow = nullptr 
)

Definition at line 1155 of file GPUReconstruction.cxx.

◆ SetSettings() [2/2]

void GPUReconstruction::SetSettings ( float  solenoidBzNominalGPU,
const GPURecoStepConfiguration workflow = nullptr 
)

Definition at line 1141 of file GPUReconstruction.cxx.

◆ SetupGPUProcessor()

template<class T >
void o2::gpu::GPUReconstruction::SetupGPUProcessor ( T *  proc,
bool  allocate 
)
inline

Definition at line 465 of file GPUReconstruction.h.

◆ slavesExist()

bool o2::gpu::GPUReconstruction::slavesExist ( )
inline

Definition at line 183 of file GPUReconstruction.h.

◆ startGPUProfiling()

virtual void o2::gpu::GPUReconstruction::startGPUProfiling ( )
inlinevirtual

Reimplemented in o2::gpu::GPUReconstructionCUDA.

Definition at line 145 of file GPUReconstruction.h.

◆ TerminatePipelineWorker()

void GPUReconstruction::TerminatePipelineWorker ( )

Definition at line 1019 of file GPUReconstruction.cxx.

◆ UnblockStackedMemory()

void GPUReconstruction::UnblockStackedMemory ( )

Definition at line 853 of file GPUReconstruction.cxx.

◆ unregisterMemoryForGPU()

int32_t GPUReconstruction::unregisterMemoryForGPU ( const void ptr)

Definition at line 947 of file GPUReconstruction.cxx.

◆ unregisterMemoryForGPU_internal()

virtual int32_t o2::gpu::GPUReconstruction::unregisterMemoryForGPU_internal ( const void ptr)
protectedpure virtual

◆ UpdateAutomaticProcessingSettings()

virtual void o2::gpu::GPUReconstruction::UpdateAutomaticProcessingSettings ( )
inlineprotectedvirtual

◆ UpdateDynamicSettings()

void GPUReconstruction::UpdateDynamicSettings ( const GPUSettingsRecDynamic *  d)

Definition at line 1101 of file GPUReconstruction.cxx.

◆ UpdateMaxMemoryUsed()

void GPUReconstruction::UpdateMaxMemoryUsed ( )
protected

Definition at line 886 of file GPUReconstruction.cxx.

◆ UpdateSettings()

void GPUReconstruction::UpdateSettings ( const GPUSettingsGRP g,
const GPUSettingsProcessing *  p = nullptr,
const GPUSettingsRecDynamic *  d = nullptr 
)

Definition at line 1106 of file GPUReconstruction.cxx.

◆ WriteConstantParams()

void GPUReconstruction::WriteConstantParams ( )
protected

Definition at line 423 of file GPUReconstruction.cxx.

◆ WriteToConstantMemory()

virtual size_t o2::gpu::GPUReconstruction::WriteToConstantMemory ( size_t  offset,
const void src,
size_t  size,
int32_t  stream = -1,
gpu_reconstruction_kernels::deviceEvent ev = nullptr 
)
protectedpure virtual

Member Data Documentation

◆ GEOMETRY_TYPE_NAMES

constexpr const char *const GPUReconstruction::GEOMETRY_TYPE_NAMES = {"INVALID", "ALIROOT", "O2"}
staticconstexpr

Definition at line 83 of file GPUReconstruction.h.

◆ geometryType

constexpr GPUReconstruction::GeometryType GPUReconstruction::geometryType = GeometryType::ALIROOT
staticconstexpr

Definition at line 87 of file GPUReconstruction.h.

◆ IOTYPENAMES

constexpr const char *const GPUReconstruction::IOTYPENAMES
staticconstexpr
Initial value:
= {"TPC HLT Clusters", "TPC Sector Tracks", "TPC Sector Track Clusters", "TPC Cluster MC Labels", "TPC Track MC Informations", "TPC Tracks", "TPC Track Clusters", "TRD Tracks", "TRD Tracklets",
"TPC Raw Clusters", "TPC Native Clusters", "TRD Tracklet MC Labels", "TPC Compressed Clusters", "TPC Digit", "TPC ZS Page", "TPC Native Clusters MC Labels", "TPC Digit MC Labeels",
"TRD Spacepoints", "TRD Triggerrecords", "TF Settings"}

Definition at line 111 of file GPUReconstruction.h.

◆ mChains

std::vector<std::unique_ptr<GPUChain> > o2::gpu::GPUReconstruction::mChains
protected

Definition at line 66 of file GPUReconstruction.h.

◆ mDeviceBackendSettings

GPUSettingsDeviceBackend o2::gpu::GPUReconstruction::mDeviceBackendSettings
protected

Definition at line 297 of file GPUReconstruction.h.

◆ mDeviceConstantMem

GPUConstantMem* o2::gpu::GPUReconstruction::mDeviceConstantMem = nullptr
protected

Definition at line 293 of file GPUReconstruction.h.

◆ mDeviceMemoryBase

void* o2::gpu::GPUReconstruction::mDeviceMemoryBase = nullptr
protected

Definition at line 315 of file GPUReconstruction.h.

◆ mDeviceMemoryPermanent

void* o2::gpu::GPUReconstruction::mDeviceMemoryPermanent = nullptr
protected

Definition at line 316 of file GPUReconstruction.h.

◆ mDeviceMemoryPool

void* o2::gpu::GPUReconstruction::mDeviceMemoryPool = nullptr
protected

Definition at line 317 of file GPUReconstruction.h.

◆ mDeviceMemoryPoolBlocked

void* o2::gpu::GPUReconstruction::mDeviceMemoryPoolBlocked = nullptr
protected

Definition at line 319 of file GPUReconstruction.h.

◆ mDeviceMemoryPoolEnd

void* o2::gpu::GPUReconstruction::mDeviceMemoryPoolEnd = nullptr
protected

Definition at line 318 of file GPUReconstruction.h.

◆ mDeviceMemorySize

size_t o2::gpu::GPUReconstruction::mDeviceMemorySize = 0
protected

Definition at line 320 of file GPUReconstruction.h.

◆ mDeviceMemoryUsedMax

size_t o2::gpu::GPUReconstruction::mDeviceMemoryUsedMax = 0
protected

Definition at line 322 of file GPUReconstruction.h.

◆ mDeviceName

std::string o2::gpu::GPUReconstruction::mDeviceName = "CPU"
protected

Definition at line 305 of file GPUReconstruction.h.

◆ mGPUStuck

int32_t o2::gpu::GPUReconstruction::mGPUStuck = 0
protected

Definition at line 340 of file GPUReconstruction.h.

◆ mGRPSettings

GPUSettingsGRP o2::gpu::GPUReconstruction::mGRPSettings
protected

Definition at line 296 of file GPUReconstruction.h.

◆ mHostConstantMem

std::unique_ptr<GPUConstantMem> o2::gpu::GPUReconstruction::mHostConstantMem
protected

Definition at line 292 of file GPUReconstruction.h.

◆ mHostMemoryBase

void* o2::gpu::GPUReconstruction::mHostMemoryBase = nullptr
protected

Definition at line 308 of file GPUReconstruction.h.

◆ mHostMemoryPermanent

void* o2::gpu::GPUReconstruction::mHostMemoryPermanent = nullptr
protected

Definition at line 309 of file GPUReconstruction.h.

◆ mHostMemoryPool

void* o2::gpu::GPUReconstruction::mHostMemoryPool = nullptr
protected

Definition at line 310 of file GPUReconstruction.h.

◆ mHostMemoryPoolBlocked

void* o2::gpu::GPUReconstruction::mHostMemoryPoolBlocked = nullptr
protected

Definition at line 312 of file GPUReconstruction.h.

◆ mHostMemoryPoolEnd

void* o2::gpu::GPUReconstruction::mHostMemoryPoolEnd = nullptr
protected

Definition at line 311 of file GPUReconstruction.h.

◆ mHostMemorySize

size_t o2::gpu::GPUReconstruction::mHostMemorySize = 0
protected

Definition at line 313 of file GPUReconstruction.h.

◆ mHostMemoryUsedMax

size_t o2::gpu::GPUReconstruction::mHostMemoryUsedMax = 0
protected

Definition at line 314 of file GPUReconstruction.h.

◆ mInitialized

bool o2::gpu::GPUReconstruction::mInitialized = false
protected

Definition at line 330 of file GPUReconstruction.h.

◆ mInputControl

GPUOutputControl o2::gpu::GPUReconstruction::mInputControl
protected

Definition at line 300 of file GPUReconstruction.h.

◆ mMaster

GPUReconstruction* o2::gpu::GPUReconstruction::mMaster = nullptr
protected

Definition at line 326 of file GPUReconstruction.h.

◆ mMaxBackendThreads

int32_t o2::gpu::GPUReconstruction::mMaxBackendThreads = 0
protected

Definition at line 339 of file GPUReconstruction.h.

◆ mMaxHostThreads

int32_t o2::gpu::GPUReconstruction::mMaxHostThreads = 0
protected

Definition at line 342 of file GPUReconstruction.h.

◆ mMemoryResources

std::vector<GPUMemoryResource> o2::gpu::GPUReconstruction::mMemoryResources
protected

Definition at line 63 of file GPUReconstruction.h.

◆ mMemoryReuse1to1

std::unordered_map<GPUMemoryReuse::ID, MemoryReuseMeta> o2::gpu::GPUReconstruction::mMemoryReuse1to1
protected

Definition at line 359 of file GPUReconstruction.h.

◆ mMemoryScalers

std::unique_ptr<GPUMemorySizeScalers> o2::gpu::GPUReconstruction::mMemoryScalers
protected

Definition at line 301 of file GPUReconstruction.h.

◆ mMyLib

std::shared_ptr<LibraryLoader> o2::gpu::GPUReconstruction::mMyLib = nullptr
protected

Definition at line 62 of file GPUReconstruction.h.

◆ mNEventsProcessed

uint32_t o2::gpu::GPUReconstruction::mNEventsProcessed = 0
protected

Definition at line 332 of file GPUReconstruction.h.

◆ mNonPersistentIndividualAllocations

std::vector<GPUMemoryResource*> o2::gpu::GPUReconstruction::mNonPersistentIndividualAllocations
protected

Definition at line 361 of file GPUReconstruction.h.

◆ mNonPersistentMemoryStack

std::vector<std::tuple<void*, void*, size_t, uint64_t> > o2::gpu::GPUReconstruction::mNonPersistentMemoryStack
protected

Definition at line 360 of file GPUReconstruction.h.

◆ mNStreams

int32_t o2::gpu::GPUReconstruction::mNStreams = 1
protected

Definition at line 341 of file GPUReconstruction.h.

◆ mOutputControl

GPUOutputControl o2::gpu::GPUReconstruction::mOutputControl
protected

Definition at line 299 of file GPUReconstruction.h.

◆ mOutputErrorCodes

std::vector<std::array<uint32_t, 4> >* o2::gpu::GPUReconstruction::mOutputErrorCodes = nullptr
protected

Definition at line 337 of file GPUReconstruction.h.

◆ mPipelineContext

std::unique_ptr<GPUReconstructionPipelineContext> o2::gpu::GPUReconstruction::mPipelineContext
protected

Definition at line 363 of file GPUReconstruction.h.

◆ mProcessingSettings

GPUSettingsProcessing o2::gpu::GPUReconstruction::mProcessingSettings
protected

Definition at line 298 of file GPUReconstruction.h.

◆ mProcessors

std::vector<ProcessorData> o2::gpu::GPUReconstruction::mProcessors
protected

Definition at line 352 of file GPUReconstruction.h.

◆ mRecoSteps

GPURecoStepConfiguration o2::gpu::GPUReconstruction::mRecoSteps
protected

Definition at line 303 of file GPUReconstruction.h.

◆ mRegisteredMemoryPtrs

std::unordered_set<const void*> o2::gpu::GPUReconstruction::mRegisteredMemoryPtrs
protected

Definition at line 324 of file GPUReconstruction.h.

◆ mROOTDump

std::shared_ptr<GPUROOTDumpCore> o2::gpu::GPUReconstruction::mROOTDump
protected

Definition at line 336 of file GPUReconstruction.h.

◆ mSlaves

std::vector<GPUReconstruction*> o2::gpu::GPUReconstruction::mSlaves
protected

Definition at line 327 of file GPUReconstruction.h.

◆ mStatCPUTime

double o2::gpu::GPUReconstruction::mStatCPUTime = 0.
protected

Definition at line 335 of file GPUReconstruction.h.

◆ mStatKernelTime

double o2::gpu::GPUReconstruction::mStatKernelTime = 0.
protected

Definition at line 333 of file GPUReconstruction.h.

◆ mStatNEvents

uint32_t o2::gpu::GPUReconstruction::mStatNEvents = 0
protected

Definition at line 331 of file GPUReconstruction.h.

◆ mStatWallTime

double o2::gpu::GPUReconstruction::mStatWallTime = 0.
protected

Definition at line 334 of file GPUReconstruction.h.

◆ mThreading

std::shared_ptr<GPUReconstructionThreading> o2::gpu::GPUReconstruction::mThreading

Definition at line 231 of file GPUReconstruction.h.

◆ mUnmanagedChunks

std::vector<std::unique_ptr<char[]> > o2::gpu::GPUReconstruction::mUnmanagedChunks
protected

Definition at line 64 of file GPUReconstruction.h.

◆ mVolatileChunks

std::vector<std::unique_ptr<char[]> > o2::gpu::GPUReconstruction::mVolatileChunks
protected

Definition at line 65 of file GPUReconstruction.h.

◆ mVolatileMemoryStart

void* o2::gpu::GPUReconstruction::mVolatileMemoryStart = nullptr
protected

Definition at line 321 of file GPUReconstruction.h.

◆ NSECTORS

constexpr uint32_t o2::gpu::GPUReconstruction::NSECTORS = GPUCA_NSECTORS
staticconstexpr

Definition at line 74 of file GPUReconstruction.h.

◆ sLibCUDA

std::shared_ptr< GPUReconstruction::LibraryLoader > GPUReconstruction::sLibCUDA
staticprotected

Definition at line 385 of file GPUReconstruction.h.

◆ sLibHIP

std::shared_ptr< GPUReconstruction::LibraryLoader > GPUReconstruction::sLibHIP
staticprotected

Definition at line 385 of file GPUReconstruction.h.

◆ sLibOCL

std::shared_ptr< GPUReconstruction::LibraryLoader > GPUReconstruction::sLibOCL
staticprotected

Definition at line 385 of file GPUReconstruction.h.


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