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

#include <GPUReconstruction.h>

Inherited by o2::gpu::GPUReconstructionProcessing.

Classes

struct  alignedDeleter
 
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 GPUChkErrA (const int64_t error, const char *file, int32_t line, bool failOnError)
 
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)
 
voidAllocateDirectMemory (size_t size, int32_t type)
 
voidAllocateVolatileDeviceMemory (size_t size)
 
voidAllocateVolatileMemory (size_t size, bool device)
 
void MakeFutureDeviceMemoryAllocationsVolatile ()
 
void FreeRegisteredMemory (GPUProcessor *proc, bool freeCustom=false, bool freePermanent=false)
 
void FreeRegisteredMemory (int16_t res)
 
void ClearAllocatedMemory (bool clearOutputs=true)
 
void ReturnVolatileDeviceMemory ()
 
void ReturnVolatileMemory ()
 
ThrustVolatileAllocator getThrustVolatileDeviceAllocator ()
 
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 GPUTrackingInOutPointers GetIOPtrs () const
 
const GPUSettingsGRPGetGRPSettings () const
 
const GPUSettingsDeviceBackendGetDeviceBackendSettings () const
 
const GPUSettingsProcessing & GetProcessingSettings () const
 
const GPUCalibObjectsConstGetCalib () 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 ()
 
uint32_t NStreams () const
 
const voidDeviceMemoryBase () const
 
virtual const GPUDefParametersgetGPUParameters (bool doGPU) const =0
 
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 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 GPUChkErrInternal (const int64_t error, const char *file, int32_t line) const
 
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)
 
int16_t RegisterMemoryAllocationHelper (GPUProcessor *proc, void *(GPUProcessor::*setPtr)(void *), int32_t type, const char *name, const GPUMemoryReuse &re)
 
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< GPUChain > > mChains
 
std::unique_ptr< GPUConstantMemmHostConstantMem
 
GPUConstantMemmDeviceConstantMem = nullptr
 
std::unique_ptr< GPUSettingsGRPmGRPSettings
 
std::unique_ptr< GPUSettingsDeviceBackendmDeviceBackendSettings
 
std::unique_ptr< 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
 
size_t mDeviceMemoryUsedMax = 0
 
voidmVolatileMemoryStart = nullptr
 
bool mDeviceMemoryAsVolatile = false
 
std::unordered_set< const void * > mRegisteredMemoryPtrs
 
GPUReconstructionmMaster = nullptr
 
std::vector< GPUReconstruction * > mSlaves
 
bool mInitialized = false
 
bool mInErrorHandling = 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, size_t, uint64_t > > mNonPersistentMemoryStack
 
std::vector< GPUMemoryResource * > mNonPersistentIndividualAllocations
 
std::vector< std::unique_ptr< char[], alignedDeleter > > mNonPersistentIndividualDirectAllocations
 
std::vector< std::unique_ptr< char[], alignedDeleter > > mDirectMemoryChunks
 
std::vector< std::unique_ptr< char[], alignedDeleter > > mVolatileChunks
 
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 66 of file GPUReconstruction.h.

Member Typedef Documentation

◆ DeviceType

◆ GeneralStep

◆ GeometryType

◆ InOutTypeField

◆ RecoStep

◆ 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 97 of file GPUReconstruction.h.

◆ krnlDeviceType

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

Definition at line 129 of file GPUReconstruction.h.

Constructor & Destructor Documentation

◆ ~GPUReconstruction()

GPUReconstruction::~GPUReconstruction ( )
virtual

Definition at line 106 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 80 of file GPUReconstruction.cxx.

Member Function Documentation

◆ AddChain()

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

Definition at line 412 of file GPUReconstruction.h.

◆ AllocateDirectMemory()

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

Definition at line 713 of file GPUReconstruction.cxx.

◆ AllocateIOMemoryHelper()

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

Definition at line 25 of file GPUReconstructionIO.h.

◆ AllocateMemoryResources()

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

◆ AllocateRegisteredForeignMemory()

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

Definition at line 697 of file GPUReconstruction.cxx.

◆ AllocateRegisteredMemory() [1/2]

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

Definition at line 515 of file GPUReconstruction.cxx.

◆ AllocateRegisteredMemory() [2/2]

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

Definition at line 702 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 559 of file GPUReconstruction.cxx.

◆ AllocateRegisteredMemoryInternal()

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

Definition at line 612 of file GPUReconstruction.cxx.

◆ AllocateRegisteredPermanentMemory()

size_t GPUReconstruction::AllocateRegisteredPermanentMemory ( )
protected

Definition at line 536 of file GPUReconstruction.cxx.

◆ AllocateVolatileDeviceMemory()

void * GPUReconstruction::AllocateVolatileDeviceMemory ( size_t  size)

Definition at line 754 of file GPUReconstruction.cxx.

◆ AllocateVolatileMemory()

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

Definition at line 775 of file GPUReconstruction.cxx.

◆ AvailableGPURecoSteps()

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

Definition at line 298 of file GPUReconstruction.h.

◆ BlockStackedMemory()

void GPUReconstruction::BlockStackedMemory ( GPUReconstruction rec)

Definition at line 902 of file GPUReconstruction.cxx.

◆ CanQueryMaxMemory()

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

Reimplemented in o2::gpu::GPUReconstructionCUDA.

Definition at line 299 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 1144 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 927 of file GPUReconstruction.cxx.

◆ ComputeReuseMax()

void GPUReconstruction::ComputeReuseMax ( GPUProcessor proc)

Definition at line 471 of file GPUReconstruction.cxx.

◆ ConstructGPUProcessor()

void GPUReconstruction::ConstructGPUProcessor ( GPUProcessor proc)

Definition at line 469 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 35 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 125 of file GPUReconstruction.h.

◆ DeviceMemoryBase()

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

Definition at line 216 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 54 of file GPUReconstructionIO.h.

◆ DumpFlatObjectToFile()

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

Definition at line 112 of file GPUReconstructionIO.h.

◆ DumpSettings()

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

Definition at line 1170 of file GPUReconstruction.cxx.

◆ DumpStructToFile()

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

Definition at line 155 of file GPUReconstructionIO.h.

◆ endGPUProfiling()

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

Reimplemented in o2::gpu::GPUReconstructionCUDA.

Definition at line 152 of file GPUReconstruction.h.

◆ EnqueuePipeline()

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

Definition at line 1089 of file GPUReconstruction.cxx.

◆ Exit()

int32_t GPUReconstruction::Exit ( )

Definition at line 438 of file GPUReconstruction.cxx.

◆ ExitDevice()

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

◆ Finalize()

int32_t GPUReconstruction::Finalize ( )

Definition at line 430 of file GPUReconstruction.cxx.

◆ FreeRegisteredMemory() [1/3]

void GPUReconstruction::FreeRegisteredMemory ( GPUMemoryResource res)
protected

Definition at line 853 of file GPUReconstruction.cxx.

◆ FreeRegisteredMemory() [2/3]

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

Definition at line 839 of file GPUReconstruction.cxx.

◆ FreeRegisteredMemory() [3/3]

void GPUReconstruction::FreeRegisteredMemory ( int16_t  res)

Definition at line 848 of file GPUReconstruction.cxx.

◆ GetCalib()

const GPUCalibObjectsConst & GPUReconstruction::GetCalib ( ) const

Definition at line 1268 of file GPUReconstruction.cxx.

◆ GetConstantMem()

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

Definition at line 198 of file GPUReconstruction.h.

◆ GetDeviceBackendSettings()

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

Definition at line 201 of file GPUReconstruction.h.

◆ GetDeviceType() [1/2]

GPUReconstruction::DeviceType GPUReconstruction::GetDeviceType ( ) const

Definition at line 1262 of file GPUReconstruction.cxx.

◆ 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 227 of file GPUReconstruction.h.

◆ getGeneralStepNum()

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

Definition at line 1046 of file GPUReconstruction.cxx.

◆ getGPUParameters()

virtual const GPUDefParameters & o2::gpu::GPUReconstruction::getGPUParameters ( bool  doGPU) const
pure virtual

◆ getGPUPointer()

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

Definition at line 150 of file GPUReconstruction.h.

◆ GetGRPSettings()

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

Definition at line 200 of file GPUReconstruction.h.

◆ getHostThreadIndex()

int32_t GPUReconstruction::getHostThreadIndex ( )
static

Definition at line 126 of file GPUReconstruction.cxx.

◆ GetIOPtrs()

const GPUTrackingInOutPointers GPUReconstruction::GetIOPtrs ( ) const

Definition at line 1267 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 113 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 245 of file GPUReconstruction.h.

◆ getNEventsProcessed()

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

Definition at line 146 of file GPUReconstruction.h.

◆ getNEventsProcessedInStat()

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

Definition at line 147 of file GPUReconstruction.h.

◆ GetNextChainInQueue()

GPUChain * GPUReconstruction::GetNextChainInQueue ( )
protected

Definition at line 1118 of file GPUReconstruction.cxx.

◆ getNIOTypeMultiplicity()

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

Definition at line 120 of file GPUReconstruction.h.

◆ GetParam()

const GPUParam & GPUReconstruction::GetParam ( ) const

Definition at line 1263 of file GPUReconstruction.cxx.

◆ GetProcessingSettings()

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

Definition at line 202 of file GPUReconstruction.h.

◆ getRecoStepNum()

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

Definition at line 1045 of file GPUReconstruction.cxx.

◆ GetRecoSteps()

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

Definition at line 219 of file GPUReconstruction.h.

◆ GetRecoStepsGPU()

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

Definition at line 220 of file GPUReconstruction.h.

◆ GetRecoStepsInputs()

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

Definition at line 221 of file GPUReconstruction.h.

◆ GetRecoStepsOutputs()

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

Definition at line 222 of file GPUReconstruction.h.

◆ GetStatKernelTime()

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

Definition at line 239 of file GPUReconstruction.h.

◆ GetStatWallTime()

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

Definition at line 240 of file GPUReconstruction.h.

◆ GetThreadContext()

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

◆ getThrustVolatileDeviceAllocator()

ThrustVolatileAllocator GPUReconstruction::getThrustVolatileDeviceAllocator ( )

Definition at line 1274 of file GPUReconstruction.cxx.

◆ GPUChkErrA()

int32_t GPUReconstruction::GPUChkErrA ( const int64_t  error,
const char file,
int32_t  line,
bool  failOnError 
)

Definition at line 1155 of file GPUReconstruction.cxx.

◆ GPUChkErrInternal()

virtual int32_t o2::gpu::GPUReconstruction::GPUChkErrInternal ( const int64_t  error,
const char file,
int32_t  line 
) const
inlineprotectedvirtual

◆ GPUReconstruction_Create_CPU()

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

Definition at line 49 of file GPUReconstructionCPU.cxx.

◆ Init()

int32_t GPUReconstruction::Init ( )

Definition at line 131 of file GPUReconstruction.cxx.

◆ InitDevice()

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

◆ InitPhaseAfterDevice()

int32_t GPUReconstruction::InitPhaseAfterDevice ( )
protected

Definition at line 402 of file GPUReconstruction.cxx.

◆ InitPhaseBeforeDevice()

int32_t GPUReconstruction::InitPhaseBeforeDevice ( )
protected

Definition at line 216 of file GPUReconstruction.cxx.

◆ InitPhasePermanentMemory()

int32_t GPUReconstruction::InitPhasePermanentMemory ( )
protected

Definition at line 391 of file GPUReconstruction.cxx.

◆ IsGPU()

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

Definition at line 196 of file GPUReconstruction.h.

◆ IsInitialized()

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

Definition at line 204 of file GPUReconstruction.h.

◆ MakeFutureDeviceMemoryAllocationsVolatile()

void GPUReconstruction::MakeFutureDeviceMemoryAllocationsVolatile ( )

Definition at line 785 of file GPUReconstruction.cxx.

◆ MemoryScalers()

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

Definition at line 188 of file GPUReconstruction.h.

◆ NStreams()

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

Definition at line 215 of file GPUReconstruction.h.

◆ operator=()

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

◆ OutputControl()

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

Definition at line 214 of file GPUReconstruction.h.

◆ param()

GPUParam & GPUReconstruction::param ( )
protected

Definition at line 1266 of file GPUReconstruction.cxx.

◆ PopNonPersistentMemory()

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

Definition at line 870 of file GPUReconstruction.cxx.

◆ PrepareEvent()

void GPUReconstruction::PrepareEvent ( )

Definition at line 1125 of file GPUReconstruction.cxx.

◆ PrintKernelOccupancies()

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

Reimplemented in o2::gpu::GPUReconstructionCUDA.

Definition at line 238 of file GPUReconstruction.h.

◆ PrintMemoryMax()

void GPUReconstruction::PrintMemoryMax ( )

Definition at line 956 of file GPUReconstruction.cxx.

◆ PrintMemoryOverview()

void GPUReconstruction::PrintMemoryOverview ( )

Definition at line 961 of file GPUReconstruction.cxx.

◆ PrintMemoryStatistics()

void GPUReconstruction::PrintMemoryStatistics ( )

Definition at line 971 of file GPUReconstruction.cxx.

◆ processors() [1/2]

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

Definition at line 302 of file GPUReconstruction.h.

◆ processors() [2/2]

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

Definition at line 303 of file GPUReconstruction.h.

◆ PushNonPersistentMemory()

void GPUReconstruction::PushNonPersistentMemory ( uint64_t  tag)

Definition at line 865 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 78 of file GPUReconstructionIO.h.

◆ ReadFlatObjectFromFile()

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

Definition at line 126 of file GPUReconstructionIO.h.

◆ ReadSettings()

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

Definition at line 1205 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 168 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 191 of file GPUReconstructionIO.h.

◆ RegisterGPUDeviceProcessor()

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

Definition at line 468 of file GPUReconstruction.cxx.

◆ RegisterGPUProcessor()

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

Definition at line 425 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 419 of file GPUReconstruction.h.

◆ RegisterMemoryAllocationHelper()

int16_t GPUReconstruction::RegisterMemoryAllocationHelper ( GPUProcessor proc,
void *(GPUProcessor::*)(void *)  setPtr,
int32_t  type,
const char name,
const GPUMemoryReuse re 
)
protected

Definition at line 486 of file GPUReconstruction.cxx.

◆ registerMemoryForGPU()

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

Definition at line 1000 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 159 of file GPUReconstruction.h.

◆ ResetRegisteredMemoryPointers() [1/2]

void GPUReconstruction::ResetRegisteredMemoryPointers ( GPUProcessor proc)

Definition at line 809 of file GPUReconstruction.cxx.

◆ ResetRegisteredMemoryPointers() [2/2]

void GPUReconstruction::ResetRegisteredMemoryPointers ( int16_t  res)

Definition at line 818 of file GPUReconstruction.cxx.

◆ ReturnVolatileDeviceMemory()

void GPUReconstruction::ReturnVolatileDeviceMemory ( )

Definition at line 791 of file GPUReconstruction.cxx.

◆ ReturnVolatileMemory()

void GPUReconstruction::ReturnVolatileMemory ( )

Definition at line 803 of file GPUReconstruction.cxx.

◆ RunChains()

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

◆ RunPipelineWorker()

void GPUReconstruction::RunPipelineWorker ( )

Definition at line 1048 of file GPUReconstruction.cxx.

◆ SetDebugLevelTmp()

void GPUReconstruction::SetDebugLevelTmp ( int32_t  level)

Definition at line 1265 of file GPUReconstruction.cxx.

◆ setErrorCodeOutput()

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

Definition at line 226 of file GPUReconstruction.h.

◆ SetInputControl()

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

Definition at line 1261 of file GPUReconstruction.cxx.

◆ SetMemoryExternalInput()

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

Definition at line 922 of file GPUReconstruction.cxx.

◆ SetOutputControl() [1/2]

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

Definition at line 211 of file GPUReconstruction.h.

◆ SetOutputControl() [2/2]

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

Definition at line 1254 of file GPUReconstruction.cxx.

◆ SetResetTimers()

void GPUReconstruction::SetResetTimers ( bool  reset)

Definition at line 1264 of file GPUReconstruction.cxx.

◆ SetSettings() [1/2]

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

Definition at line 1235 of file GPUReconstruction.cxx.

◆ SetSettings() [2/2]

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

Definition at line 1221 of file GPUReconstruction.cxx.

◆ SetupGPUProcessor()

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

Definition at line 433 of file GPUReconstruction.h.

◆ slavesExist()

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

Definition at line 192 of file GPUReconstruction.h.

◆ startGPUProfiling()

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

Reimplemented in o2::gpu::GPUReconstructionCUDA.

Definition at line 151 of file GPUReconstruction.h.

◆ TerminatePipelineWorker()

void GPUReconstruction::TerminatePipelineWorker ( )

Definition at line 1084 of file GPUReconstruction.cxx.

◆ UnblockStackedMemory()

void GPUReconstruction::UnblockStackedMemory ( )

Definition at line 911 of file GPUReconstruction.cxx.

◆ unregisterMemoryForGPU()

int32_t GPUReconstruction::unregisterMemoryForGPU ( const void ptr)

Definition at line 1012 of file GPUReconstruction.cxx.

◆ unregisterMemoryForGPU_internal()

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

◆ UpdateDynamicSettings()

void GPUReconstruction::UpdateDynamicSettings ( const GPUSettingsRecDynamic *  d)

Definition at line 1181 of file GPUReconstruction.cxx.

◆ UpdateMaxMemoryUsed()

void GPUReconstruction::UpdateMaxMemoryUsed ( )
protected

Definition at line 950 of file GPUReconstruction.cxx.

◆ UpdateSettings()

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

Definition at line 1186 of file GPUReconstruction.cxx.

◆ WriteConstantParams()

void GPUReconstruction::WriteConstantParams ( )
protected

Definition at line 422 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 89 of file GPUReconstruction.h.

◆ geometryType

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

Definition at line 93 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 117 of file GPUReconstruction.h.

◆ mChains

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

Definition at line 72 of file GPUReconstruction.h.

◆ mDeviceBackendSettings

std::unique_ptr<GPUSettingsDeviceBackend> o2::gpu::GPUReconstruction::mDeviceBackendSettings
protected

Definition at line 310 of file GPUReconstruction.h.

◆ mDeviceConstantMem

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

Definition at line 306 of file GPUReconstruction.h.

◆ mDeviceMemoryAsVolatile

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

Definition at line 336 of file GPUReconstruction.h.

◆ mDeviceMemoryBase

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

Definition at line 328 of file GPUReconstruction.h.

◆ mDeviceMemoryPermanent

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

Definition at line 329 of file GPUReconstruction.h.

◆ mDeviceMemoryPool

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

Definition at line 330 of file GPUReconstruction.h.

◆ mDeviceMemoryPoolBlocked

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

Definition at line 332 of file GPUReconstruction.h.

◆ mDeviceMemoryPoolEnd

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

Definition at line 331 of file GPUReconstruction.h.

◆ mDeviceMemorySize

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

Definition at line 333 of file GPUReconstruction.h.

◆ mDeviceMemoryUsedMax

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

Definition at line 334 of file GPUReconstruction.h.

◆ mDeviceName

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

Definition at line 318 of file GPUReconstruction.h.

◆ mDirectMemoryChunks

std::vector<std::unique_ptr<char[], alignedDeleter> > o2::gpu::GPUReconstruction::mDirectMemoryChunks
protected

Definition at line 381 of file GPUReconstruction.h.

◆ mGPUStuck

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

Definition at line 355 of file GPUReconstruction.h.

◆ mGRPSettings

std::unique_ptr<GPUSettingsGRP> o2::gpu::GPUReconstruction::mGRPSettings
protected

Definition at line 309 of file GPUReconstruction.h.

◆ mHostConstantMem

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

Definition at line 305 of file GPUReconstruction.h.

◆ mHostMemoryBase

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

Definition at line 321 of file GPUReconstruction.h.

◆ mHostMemoryPermanent

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

Definition at line 322 of file GPUReconstruction.h.

◆ mHostMemoryPool

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

Definition at line 323 of file GPUReconstruction.h.

◆ mHostMemoryPoolBlocked

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

Definition at line 325 of file GPUReconstruction.h.

◆ mHostMemoryPoolEnd

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

Definition at line 324 of file GPUReconstruction.h.

◆ mHostMemorySize

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

Definition at line 326 of file GPUReconstruction.h.

◆ mHostMemoryUsedMax

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

Definition at line 327 of file GPUReconstruction.h.

◆ mInErrorHandling

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

Definition at line 345 of file GPUReconstruction.h.

◆ mInitialized

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

Definition at line 344 of file GPUReconstruction.h.

◆ mInputControl

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

Definition at line 313 of file GPUReconstruction.h.

◆ mMaster

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

Definition at line 340 of file GPUReconstruction.h.

◆ mMaxBackendThreads

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

Definition at line 354 of file GPUReconstruction.h.

◆ mMaxHostThreads

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

Definition at line 357 of file GPUReconstruction.h.

◆ mMemoryResources

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

Definition at line 71 of file GPUReconstruction.h.

◆ mMemoryReuse1to1

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

Definition at line 377 of file GPUReconstruction.h.

◆ mMemoryScalers

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

Definition at line 314 of file GPUReconstruction.h.

◆ mMyLib

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

Definition at line 70 of file GPUReconstruction.h.

◆ mNEventsProcessed

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

Definition at line 347 of file GPUReconstruction.h.

◆ mNonPersistentIndividualAllocations

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

Definition at line 379 of file GPUReconstruction.h.

◆ mNonPersistentIndividualDirectAllocations

std::vector<std::unique_ptr<char[], alignedDeleter> > o2::gpu::GPUReconstruction::mNonPersistentIndividualDirectAllocations
protected

Definition at line 380 of file GPUReconstruction.h.

◆ mNonPersistentMemoryStack

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

Definition at line 378 of file GPUReconstruction.h.

◆ mNStreams

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

Definition at line 356 of file GPUReconstruction.h.

◆ mOutputControl

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

Definition at line 312 of file GPUReconstruction.h.

◆ mOutputErrorCodes

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

Definition at line 352 of file GPUReconstruction.h.

◆ mPipelineContext

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

Definition at line 384 of file GPUReconstruction.h.

◆ mProcessingSettings

std::unique_ptr<GPUSettingsProcessing> o2::gpu::GPUReconstruction::mProcessingSettings
protected

Definition at line 311 of file GPUReconstruction.h.

◆ mProcessors

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

Definition at line 367 of file GPUReconstruction.h.

◆ mRecoSteps

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

Definition at line 316 of file GPUReconstruction.h.

◆ mRegisteredMemoryPtrs

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

Definition at line 338 of file GPUReconstruction.h.

◆ mROOTDump

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

Definition at line 351 of file GPUReconstruction.h.

◆ mSlaves

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

Definition at line 341 of file GPUReconstruction.h.

◆ mStatCPUTime

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

Definition at line 350 of file GPUReconstruction.h.

◆ mStatKernelTime

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

Definition at line 348 of file GPUReconstruction.h.

◆ mStatNEvents

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

Definition at line 346 of file GPUReconstruction.h.

◆ mStatWallTime

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

Definition at line 349 of file GPUReconstruction.h.

◆ mThreading

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

Definition at line 243 of file GPUReconstruction.h.

◆ mVolatileChunks

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

Definition at line 382 of file GPUReconstruction.h.

◆ mVolatileMemoryStart

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

Definition at line 335 of file GPUReconstruction.h.

◆ NSECTORS

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

Definition at line 80 of file GPUReconstruction.h.

◆ sLibCUDA

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

Definition at line 406 of file GPUReconstruction.h.

◆ sLibHIP

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

Definition at line 406 of file GPUReconstruction.h.

◆ sLibOCL

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

Definition at line 406 of file GPUReconstruction.h.


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