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

#include <GPUChainTracking.h>

Inherits o2::gpu::GPUChain.

Classes

struct  eventStruct
 
struct  GPUTrackingFlatObjects
 
struct  InOutMemory
 
struct  outputQueueEntry
 

Public Member Functions

 ~GPUChainTracking () override
 
void RegisterPermanentMemoryAndProcessors () override
 
void RegisterGPUProcessors () override
 
int32_t Init () override
 
int32_t PrepareEvent () override
 
int32_t Finalize () override
 
int32_t RunChain () override
 
void MemorySize (size_t &gpuMem, size_t &pageLockedHostMem) override
 
int32_t CheckErrorCodes (bool cpuOnly=false, bool forceShowErrors=false, std::vector< std::array< uint32_t, 4 > > *fillErrors=nullptr) override
 
bool SupportsDoublePipeline () override
 
int32_t FinalizePipelinedProcessing () override
 
void ClearErrorCodes (bool cpuOnly=false)
 
int32_t DoQueuedUpdates (int32_t stream, bool updateSlave=true)
 
bool QARanForTF () const
 
void ClearIOPointers ()
 
void AllocateIOMemory ()
 
void DumpData (const char *filename)
 
int32_t ReadData (const char *filename)
 
void DumpSettings (const char *dir="") override
 
void ReadSettings (const char *dir="") override
 
int32_t ConvertNativeToClusterData ()
 
void ConvertNativeToClusterDataLegacy ()
 
void ConvertRun2RawToNative ()
 
void ConvertZSEncoder (int32_t version)
 
void ConvertZSFilter (bool zs12bit)
 
GPUTRDTrackerGPUGetTRDTrackerGPU ()
 
GPUTPCTrackerGetTPCSectorTrackers ()
 
const GPUTPCTrackerGetTPCSectorTrackers () const
 
const GPUTPCGMMergerGetTPCMerger () const
 
GPUTPCGMMergerGetTPCMerger ()
 
GPUDisplayInterfaceGetEventDisplay ()
 
const GPUQAGetQA () const
 
GPUQAGetQA ()
 
int32_t ForceInitQA ()
 
void SetQAFromForeignChain (GPUChainTracking *chain)
 
const GPUSettingsDisplay * GetEventDisplayConfig () const
 
const GPUSettingsQA * GetQAConfig () const
 
int32_t RunTPCClusterizer (bool synchronizeOutput=true)
 
int32_t ForwardTPCDigits ()
 
int32_t RunTPCTrackingSectors ()
 
int32_t RunTPCTrackingMerger (bool synchronizeOutput=true)
 
template<int32_t I>
int32_t RunTRDTracking ()
 
template<int32_t I, class T = GPUTRDTracker>
int32_t DoTRDGPUTracking (T *externalInstance=nullptr)
 
int32_t RunTPCCompression ()
 
int32_t RunTPCDecompression ()
 
int32_t RunRefit ()
 
const CorrectionMapsHelperGetTPCTransformHelper () const
 
const TPCPadGainCalibGetTPCPadGainCalib () const
 
const TPCZSLinkMappingGetTPCZSLinkMapping () const
 
const o2::tpc::CalibdEdxContainerGetdEdxCalibContainer () const
 
const o2::base::MatLayerCylSetGetMatLUT () const
 
const GPUTRDGeometryGetTRDGeometry () const
 
const o2::base::PropagatorGetO2Propagator () const
 
const o2::base::PropagatorGetDeviceO2Propagator ()
 
void SetTPCFastTransform (std::unique_ptr< TPCFastTransform > &&tpcFastTransform, std::unique_ptr< CorrectionMapsHelper > &&tpcTransformHelper)
 
void SetMatLUT (std::unique_ptr< o2::base::MatLayerCylSet > &&lut)
 
void SetTRDGeometry (std::unique_ptr< o2::trd::GeometryFlat > &&geo)
 
void SetMatLUT (const o2::base::MatLayerCylSet *lut)
 
void SetTRDGeometry (const o2::trd::GeometryFlat *geo)
 
void SetO2Propagator (const o2::base::Propagator *prop)
 
void SetCalibObjects (const GPUCalibObjectsConst &obj)
 
void SetCalibObjects (const GPUCalibObjects &obj)
 
void SetUpdateCalibObjects (const GPUCalibObjectsConst &obj, const GPUNewCalibValues &vals)
 
void SetSubOutputControl (int32_t i, GPUOutputControl *v)
 
void SetFinalInputCallback (std::function< void()> v)
 
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)
 
- Public Member Functions inherited from o2::gpu::GPUChain
virtual ~GPUChain ()=default
 
virtual int32_t EarlyConfigure ()
 
const GPUParamGetParam () const
 
const GPUSettingsGRPGetGRPSettings () const
 
const GPUCalibObjectsConstcalib () const
 
GPUReconstructionrec ()
 
const GPUReconstructionrec () const
 
const GPUConstantMemGetProcessors ()
 
GPUReconstruction::RecoStepField GetRecoSteps () const
 
GPUReconstruction::RecoStepField GetRecoStepsGPU () const
 
GPUReconstruction::InOutTypeField GetRecoStepsInputs () const
 
GPUReconstruction::InOutTypeField GetRecoStepsOutputs () const
 
const GPUSettingsDeviceBackendGetDeviceBackendSettings () const
 
const GPUSettingsProcessing & GetProcessingSettings () const
 

Public Attributes

GPUTrackingInOutPointersmIOPtrs
 
struct o2::gpu::GPUChainTracking::InOutMemory mIOMem
 
const GPUSettingsDisplay * mConfigDisplay = nullptr
 
const GPUSettingsQA * mConfigQA = nullptr
 
bool mFractionalQAEnabled = false
 

Protected Member Functions

void UpdateGPUCalibObjects (int32_t stream, const GPUCalibObjectsConst *ptrMask=nullptr)
 
void UpdateGPUCalibObjectsPtrs (int32_t stream)
 
 GPUChainTracking (GPUReconstruction *rec, uint32_t maxTPCHits=GPUCA_MAX_CLUSTERS, uint32_t maxTRDTracklets=GPUCA_MAX_TRD_TRACKLETS)
 
int32_t ReadEvent (uint32_t iSector, int32_t threadId)
 
void WriteOutput (int32_t iSector, int32_t threadId)
 
int32_t ExtrapolationTracking (uint32_t iSector, int32_t threadId, bool synchronizeOutput=true)
 
int32_t PrepareProfile ()
 
int32_t DoProfile ()
 
void PrintMemoryRelations ()
 
void PrintMemoryStatistics () override
 
void PrepareDebugOutput ()
 
void PrintDebugOutput ()
 
void PrintOutputStat ()
 
bool ValidateSteps ()
 
bool ValidateSettings ()
 
- Protected Member Functions inherited from o2::gpu::GPUChain
 GPUChain (GPUReconstruction *rec)
 
int32_t GetThread ()
 
GPUConstantMemprocessors ()
 
GPUConstantMemprocessorsShadow ()
 
GPUConstantMemprocessorsDevice ()
 
GPUParamparam ()
 
const GPUConstantMemprocessors () const
 
void SynchronizeStream (int32_t stream)
 
void SynchronizeEvents (deviceEvent *evList, int32_t nEvents=1)
 
void SynchronizeEventAndRelease (deviceEvent &ev, bool doGPU=true)
 
template<class T >
void CondWaitEvent (T &cond, deviceEvent *ev)
 
bool IsEventDone (deviceEvent *evList, int32_t nEvents=1)
 
void RecordMarker (deviceEvent *ev, int32_t stream)
 
virtual std::unique_ptr< gpu_reconstruction_kernels::threadContextGetThreadContext ()
 
void SynchronizeGPU ()
 
void ReleaseEvent (deviceEvent ev, bool doGPU=true)
 
void StreamWaitForEvents (int32_t stream, deviceEvent *evList, int32_t nEvents=1)
 
int32_t GPUDebug (const char *state="UNKNOWN", int32_t stream=-1)
 
void TransferMemoryResourceToGPU (RecoStep step, GPUMemoryResource *res, int32_t stream=-1, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1)
 
void TransferMemoryResourceToHost (RecoStep step, GPUMemoryResource *res, int32_t stream=-1, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1)
 
void TransferMemoryResourcesToGPU (RecoStep step, GPUProcessor *proc, int32_t stream=-1, bool all=false)
 
void TransferMemoryResourcesToHost (RecoStep step, GPUProcessor *proc, int32_t stream=-1, bool all=false)
 
void TransferMemoryResourceLinkToGPU (RecoStep step, int16_t res, int32_t stream=-1, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1)
 
void TransferMemoryResourceLinkToHost (RecoStep step, int16_t res, int32_t stream=-1, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1)
 
void WriteToConstantMemory (RecoStep step, size_t offset, const void *src, size_t size, int32_t stream=-1, deviceEvent *ev=nullptr)
 
void GPUMemCpy (RecoStep step, void *dst, const void *src, size_t size, int32_t stream, int32_t toGPU, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1)
 
void GPUMemCpyAlways (RecoStep step, void *dst, const void *src, size_t size, int32_t stream, int32_t toGPU, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1)
 
template<class T >
void AllocateIOMemoryHelper (uint32_t n, const T *&ptr, std::unique_ptr< T[]> &u)
 
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 >
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 >
void ReadStructFromFile (const char *file, T *obj)
 
template<class S , int32_t I = 0, typename... Args>
int32_t runKernel (gpu_reconstruction_kernels::krnlSetup &&setup, Args &&... args)
 
template<class S , int32_t I = 0>
gpu_reconstruction_kernels::krnlProperties getKernelProperties ()
 
template<class T , int32_t I = 0>
HighResTimergetKernelTimer (RecoStep step, int32_t num=0, size_t addMemorySize=0, bool increment=true)
 
template<class T , int32_t J = -1>
HighResTimergetTimer (const char *name, int32_t num=-1)
 
krnlExec GetGrid (uint32_t totalItems, uint32_t nThreads, int32_t stream, GPUReconstruction::krnlDeviceType d=GPUReconstruction::krnlDeviceType::Auto, GPUCA_RECO_STEP st=GPUCA_RECO_STEP::NoRecoStep)
 
krnlExec GetGrid (uint32_t totalItems, int32_t stream, GPUReconstruction::krnlDeviceType d=GPUReconstruction::krnlDeviceType::Auto, GPUCA_RECO_STEP st=GPUCA_RECO_STEP::NoRecoStep)
 
krnlExec GetGridBlk (uint32_t nBlocks, int32_t stream, GPUReconstruction::krnlDeviceType d=GPUReconstruction::krnlDeviceType::Auto, GPUCA_RECO_STEP st=GPUCA_RECO_STEP::NoRecoStep)
 
krnlExec GetGridBlkStep (uint32_t nBlocks, int32_t stream, GPUCA_RECO_STEP st=GPUCA_RECO_STEP::NoRecoStep)
 
krnlExec GetGridAuto (int32_t stream, GPUReconstruction::krnlDeviceType d=GPUReconstruction::krnlDeviceType::Auto, GPUCA_RECO_STEP st=GPUCA_RECO_STEP::NoRecoStep)
 
krnlExec GetGridAutoStep (int32_t stream, GPUCA_RECO_STEP st=GPUCA_RECO_STEP::NoRecoStep)
 
uint32_t BlockCount () const
 
uint32_t WarpSize () const
 
uint32_t ThreadCount () const
 
size_t AllocateRegisteredMemory (GPUProcessor *proc)
 
size_t AllocateRegisteredMemory (int16_t res, GPUOutputControl *control=nullptr)
 
template<class T >
void SetupGPUProcessor (T *proc, bool allocate)
 
GPUChainGetNextChainInQueue ()
 
virtual int32_t PrepareTextures ()
 
virtual int32_t DoStuckProtection (int32_t stream, deviceEvent event)
 
template<class T , class S , typename... Args>
bool DoDebugAndDump (RecoStep step, int32_t mask, T &processor, S T::*func, Args &&... args)
 
template<class T , class S , typename... Args>
bool DoDebugAndDump (RecoStep step, int32_t mask, bool transfer, T &processor, S T::*func, Args &&... args)
 
template<class T , class S , typename... Args>
int32_t runRecoStep (RecoStep step, S T::*func, Args... args)
 

Protected Attributes

GPUTrackingFlatObjects mFlatObjectsShadow
 
GPUTrackingFlatObjects mFlatObjectsDevice
 
std::unique_ptr< GPUTrackingInputProvidermInputsHost
 
std::unique_ptr< GPUTrackingInputProvidermInputsShadow
 
bool mDisplayRunning = false
 
std::unique_ptr< GPUDisplayInterfacemEventDisplay
 
GPUChainTrackingmQAFromForeignChain = nullptr
 
std::unique_ptr< GPUQAmQA
 
std::unique_ptr< GPUTPCClusterStatisticsmCompressionStatistics
 
std::unique_ptr< TPCFastTransformmTPCFastTransformU
 
std::unique_ptr< TPCFastTransformmTPCFastTransformRefU
 
std::unique_ptr< TPCFastTransformmTPCFastTransformMShapeU
 
std::unique_ptr< CorrectionMapsHelpermTPCFastTransformHelperU
 
std::unique_ptr< TPCPadGainCalibmTPCPadGainCalibU
 
std::unique_ptr< TPCZSLinkMappingmTPCZSLinkMappingU
 
std::unique_ptr< o2::tpc::CalibdEdxContainermdEdxCalibContainerU
 
std::unique_ptr< o2::base::MatLayerCylSetmMatLUTU
 
std::unique_ptr< o2::trd::GeometryFlatmTRDGeometryU
 
std::unique_ptr< o2::tpc::ClusterNativeAccessmClusterNativeAccess
 
std::array< GPUOutputControl *, GPUTrackingOutputs::count()> mSubOutputControls = {nullptr}
 
std::unique_ptr< GPUTriggerOutputsmTriggerBuffer
 
std::unique_ptr< GPUTPCCFChainContextmCFContext
 
bool mTPCSectorScratchOnStack = false
 
std::unique_ptr< GPUCalibObjectsConstmNewCalibObjects
 
bool mUpdateNewCalibObjects = false
 
std::unique_ptr< GPUNewCalibValuesmNewCalibValues
 
uint32_t mMaxTPCHits = 0
 
uint32_t mMaxTRDTracklets = 0
 
std::unique_ptr< std::ofstream > mDebugFile
 
eventStructmEvents = nullptr
 
volatile int32_t mSectorSelectorReady = 0
 
std::array< int8_t, NSECTORSmWriteOutputDone
 
std::vector< outputQueueEntrymOutputQueue
 
- Protected Attributes inherited from o2::gpu::GPUChain
GPUReconstructionCPUmRec
 

Friends

class GPUReconstruction
 

Additional Inherited Members

- Public Types inherited from o2::gpu::GPUChain
using RecoStep = GPUReconstruction::RecoStep
 
using GeneralStep = GPUReconstruction::GeneralStep
 
using InOutPointerType = GPUReconstruction::InOutPointerType
 
using GeometryType = GPUReconstruction::GeometryType
 
using krnlRunRange = gpu_reconstruction_kernels::krnlRunRange
 
using krnlExec = gpu_reconstruction_kernels::krnlExec
 
using krnlEvent = gpu_reconstruction_kernels::krnlEvent
 
using deviceEvent = gpu_reconstruction_kernels::deviceEvent
 
- Static Public Attributes inherited from o2::gpu::GPUChain
static constexpr krnlRunRange krnlRunRangeNone {0, -1}
 
static constexpr krnlEvent krnlEventNone = krnlEvent{nullptr, nullptr, 0}
 
static constexpr int32_t NSECTORS = GPUReconstruction::NSECTORS
 

Detailed Description

Definition at line 59 of file GPUChainTracking.h.

Constructor & Destructor Documentation

◆ ~GPUChainTracking()

GPUChainTracking::~GPUChainTracking ( )
overridedefault

◆ GPUChainTracking()

GPUChainTracking::GPUChainTracking ( GPUReconstruction rec,
uint32_t  maxTPCHits = GPUCA_MAX_CLUSTERS,
uint32_t  maxTRDTracklets = GPUCA_MAX_TRD_TRACKLETS 
)
protected

Definition at line 63 of file GPUChainTracking.cxx.

Member Function Documentation

◆ AllocateIOMemory()

void GPUChainTracking::AllocateIOMemory ( )

Definition at line 551 of file GPUChainTracking.cxx.

◆ CheckErrorCodes()

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

Reimplemented from o2::gpu::GPUChain.

Definition at line 882 of file GPUChainTracking.cxx.

◆ ClearErrorCodes()

void GPUChainTracking::ClearErrorCodes ( bool  cpuOnly = false)

Definition at line 932 of file GPUChainTracking.cxx.

◆ ClearIOPointers()

void GPUChainTracking::ClearIOPointers ( )

Definition at line 544 of file GPUChainTracking.cxx.

◆ ConvertNativeToClusterData()

int32_t GPUChainTracking::ConvertNativeToClusterData ( )

Definition at line 36 of file GPUChainTrackingTransformation.cxx.

◆ ConvertNativeToClusterDataLegacy()

void GPUChainTracking::ConvertNativeToClusterDataLegacy ( )

Definition at line 85 of file GPUChainTrackingTransformation.cxx.

◆ ConvertRun2RawToNative()

void GPUChainTracking::ConvertRun2RawToNative ( )

Definition at line 104 of file GPUChainTrackingTransformation.cxx.

◆ ConvertZSEncoder()

void GPUChainTracking::ConvertZSEncoder ( int32_t  version)

Definition at line 123 of file GPUChainTrackingTransformation.cxx.

◆ ConvertZSFilter()

void GPUChainTracking::ConvertZSFilter ( bool  zs12bit)

Definition at line 144 of file GPUChainTrackingTransformation.cxx.

◆ DoProfile()

int32_t GPUChainTracking::DoProfile ( )
protected

Definition at line 44 of file GPUChainTrackingDebugAndProfiling.cxx.

◆ DoQueuedUpdates()

int32_t GPUChainTracking::DoQueuedUpdates ( int32_t  stream,
bool  updateSlave = true 
)

Definition at line 597 of file GPUChainTracking.cxx.

◆ DoTRDGPUTracking()

template<int32_t I, class T >
int32_t GPUChainTracking::DoTRDGPUTracking ( T *  externalInstance = nullptr)

Definition at line 131 of file GPUChainTrackingTRD.cxx.

◆ DumpData() [1/2]

void GPUChainTracking::DumpData ( const char filename)

Definition at line 68 of file GPUChainTrackingIO.cxx.

◆ DumpData() [2/2]

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

Definition at line 139 of file GPUChain.h.

◆ DumpSettings()

void GPUChainTracking::DumpSettings ( const char dir = "")
overridevirtual

Reimplemented from o2::gpu::GPUChain.

Definition at line 292 of file GPUChainTrackingIO.cxx.

◆ ExtrapolationTracking()

int32_t GPUChainTracking::ExtrapolationTracking ( uint32_t  iSector,
int32_t  threadId,
bool  synchronizeOutput = true 
)
protected

Definition at line 27 of file GPUChainTrackingSectorTracker.cxx.

◆ Finalize()

int32_t GPUChainTracking::Finalize ( )
overridevirtual

Implements o2::gpu::GPUChain.

Definition at line 478 of file GPUChainTracking.cxx.

◆ FinalizePipelinedProcessing()

int32_t GPUChainTracking::FinalizePipelinedProcessing ( )
overridevirtual

Reimplemented from o2::gpu::GPUChain.

Definition at line 869 of file GPUChainTracking.cxx.

◆ ForceInitQA()

int32_t GPUChainTracking::ForceInitQA ( )

Definition at line 466 of file GPUChainTracking.cxx.

◆ ForwardTPCDigits()

int32_t GPUChainTracking::ForwardTPCDigits ( )

Definition at line 149 of file GPUChainTrackingTransformation.cxx.

◆ GetdEdxCalibContainer()

const o2::tpc::CalibdEdxContainer * o2::gpu::GPUChainTracking::GetdEdxCalibContainer ( ) const
inline

Definition at line 170 of file GPUChainTracking.h.

◆ GetDeviceO2Propagator()

const o2::base::Propagator * GPUChainTracking::GetDeviceO2Propagator ( )

Definition at line 964 of file GPUChainTracking.cxx.

◆ GetEventDisplay()

GPUDisplayInterface * o2::gpu::GPUChainTracking::GetEventDisplay ( )
inline

Definition at line 145 of file GPUChainTracking.h.

◆ GetEventDisplayConfig()

const GPUSettingsDisplay * o2::gpu::GPUChainTracking::GetEventDisplayConfig ( ) const
inline

Definition at line 150 of file GPUChainTracking.h.

◆ GetMatLUT()

const o2::base::MatLayerCylSet * o2::gpu::GPUChainTracking::GetMatLUT ( ) const
inline

Definition at line 171 of file GPUChainTracking.h.

◆ GetO2Propagator()

const o2::base::Propagator * o2::gpu::GPUChainTracking::GetO2Propagator ( ) const
inline

Definition at line 173 of file GPUChainTracking.h.

◆ GetQA() [1/2]

GPUQA * o2::gpu::GPUChainTracking::GetQA ( )
inline

Definition at line 147 of file GPUChainTracking.h.

◆ GetQA() [2/2]

const GPUQA * o2::gpu::GPUChainTracking::GetQA ( ) const
inline

Definition at line 146 of file GPUChainTracking.h.

◆ GetQAConfig()

const GPUSettingsQA * o2::gpu::GPUChainTracking::GetQAConfig ( ) const
inline

Definition at line 151 of file GPUChainTracking.h.

◆ GetTPCMerger() [1/2]

GPUTPCGMMerger & o2::gpu::GPUChainTracking::GetTPCMerger ( )
inline

Definition at line 144 of file GPUChainTracking.h.

◆ GetTPCMerger() [2/2]

const GPUTPCGMMerger & o2::gpu::GPUChainTracking::GetTPCMerger ( ) const
inline

Definition at line 143 of file GPUChainTracking.h.

◆ GetTPCPadGainCalib()

const TPCPadGainCalib * o2::gpu::GPUChainTracking::GetTPCPadGainCalib ( ) const
inline

Definition at line 168 of file GPUChainTracking.h.

◆ GetTPCSectorTrackers() [1/2]

GPUTPCTracker * o2::gpu::GPUChainTracking::GetTPCSectorTrackers ( )
inline

Definition at line 141 of file GPUChainTracking.h.

◆ GetTPCSectorTrackers() [2/2]

const GPUTPCTracker * o2::gpu::GPUChainTracking::GetTPCSectorTrackers ( ) const
inline

Definition at line 142 of file GPUChainTracking.h.

◆ GetTPCTransformHelper()

const CorrectionMapsHelper * o2::gpu::GPUChainTracking::GetTPCTransformHelper ( ) const
inline

Definition at line 167 of file GPUChainTracking.h.

◆ GetTPCZSLinkMapping()

const TPCZSLinkMapping * o2::gpu::GPUChainTracking::GetTPCZSLinkMapping ( ) const
inline

Definition at line 169 of file GPUChainTracking.h.

◆ GetTRDGeometry()

const GPUTRDGeometry * o2::gpu::GPUChainTracking::GetTRDGeometry ( ) const
inline

Definition at line 172 of file GPUChainTracking.h.

◆ GetTRDTrackerGPU()

GPUTRDTrackerGPU * o2::gpu::GPUChainTracking::GetTRDTrackerGPU ( )
inline

Definition at line 140 of file GPUChainTracking.h.

◆ Init()

int32_t GPUChainTracking::Init ( )
overridevirtual

Implements o2::gpu::GPUChain.

Definition at line 326 of file GPUChainTracking.cxx.

◆ MemorySize()

void GPUChainTracking::MemorySize ( size_t &  gpuMem,
size_t &  pageLockedHostMem 
)
overridevirtual

Implements o2::gpu::GPUChain.

Definition at line 162 of file GPUChainTracking.cxx.

◆ PrepareDebugOutput()

void GPUChainTracking::PrepareDebugOutput ( )
protected

Definition at line 187 of file GPUChainTrackingDebugAndProfiling.cxx.

◆ PrepareEvent()

int32_t GPUChainTracking::PrepareEvent ( )
overridevirtual

Implements o2::gpu::GPUChain.

Definition at line 453 of file GPUChainTracking.cxx.

◆ PrepareProfile()

int32_t GPUChainTracking::PrepareProfile ( )
protected

Definition at line 34 of file GPUChainTrackingDebugAndProfiling.cxx.

◆ PrintDebugOutput()

void GPUChainTracking::PrintDebugOutput ( )
protected

Definition at line 200 of file GPUChainTrackingDebugAndProfiling.cxx.

◆ PrintMemoryRelations()

void GPUChainTracking::PrintMemoryRelations ( )
protected

Definition at line 174 of file GPUChainTrackingDebugAndProfiling.cxx.

◆ PrintMemoryStatistics()

void GPUChainTracking::PrintMemoryStatistics ( )
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUChain.

Definition at line 140 of file GPUChainTrackingDebugAndProfiling.cxx.

◆ PrintOutputStat()

void GPUChainTracking::PrintOutputStat ( )
protected

Definition at line 209 of file GPUChainTrackingDebugAndProfiling.cxx.

◆ QARanForTF()

bool o2::gpu::GPUChainTracking::QARanForTF ( ) const
inline

Definition at line 77 of file GPUChainTracking.h.

◆ ReadData() [1/2]

int32_t GPUChainTracking::ReadData ( const char filename)

Definition at line 162 of file GPUChainTrackingIO.cxx.

◆ ReadData() [2/2]

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

Definition at line 144 of file GPUChain.h.

◆ ReadEvent()

int32_t GPUChainTracking::ReadEvent ( uint32_t  iSector,
int32_t  threadId 
)
protected

Definition at line 464 of file GPUChainTrackingSectorTracker.cxx.

◆ ReadSettings()

void GPUChainTracking::ReadSettings ( const char dir = "")
overridevirtual

Reimplemented from o2::gpu::GPUChain.

Definition at line 342 of file GPUChainTrackingIO.cxx.

◆ RegisterGPUProcessors()

void GPUChainTracking::RegisterGPUProcessors ( )
overridevirtual

Implements o2::gpu::GPUChain.

Definition at line 118 of file GPUChainTracking.cxx.

◆ RegisterPermanentMemoryAndProcessors()

void GPUChainTracking::RegisterPermanentMemoryAndProcessors ( )
overridevirtual

Implements o2::gpu::GPUChain.

Definition at line 72 of file GPUChainTracking.cxx.

◆ RunChain()

int32_t GPUChainTracking::RunChain ( )
overridevirtual

Implements o2::gpu::GPUChain.

Definition at line 671 of file GPUChainTracking.cxx.

◆ RunRefit()

int32_t GPUChainTracking::RunRefit ( )

Definition at line 21 of file GPUChainTrackingRefit.cxx.

◆ RunTPCClusterizer()

int32_t GPUChainTracking::RunTPCClusterizer ( bool  synchronizeOutput = true)

Definition at line 566 of file GPUChainTrackingClusterizer.cxx.

◆ RunTPCCompression()

int32_t GPUChainTracking::RunTPCCompression ( )

Definition at line 28 of file GPUChainTrackingCompression.cxx.

◆ RunTPCDecompression()

int32_t GPUChainTracking::RunTPCDecompression ( )

Definition at line 202 of file GPUChainTrackingCompression.cxx.

◆ RunTPCTrackingMerger()

int32_t GPUChainTracking::RunTPCTrackingMerger ( bool  synchronizeOutput = true)

Definition at line 88 of file GPUChainTrackingMerger.cxx.

◆ RunTPCTrackingSectors()

int32_t GPUChainTracking::RunTPCTrackingSectors ( )

Definition at line 37 of file GPUChainTrackingSectorTracker.cxx.

◆ RunTRDTracking()

template<int32_t I>
int32_t GPUChainTracking::RunTRDTracking ( )

Definition at line 30 of file GPUChainTrackingTRD.cxx.

◆ SetCalibObjects() [1/2]

void o2::gpu::GPUChainTracking::SetCalibObjects ( const GPUCalibObjects obj)
inline

Definition at line 182 of file GPUChainTracking.h.

◆ SetCalibObjects() [2/2]

void o2::gpu::GPUChainTracking::SetCalibObjects ( const GPUCalibObjectsConst obj)
inline

Definition at line 181 of file GPUChainTracking.h.

◆ SetFinalInputCallback()

void o2::gpu::GPUChainTracking::SetFinalInputCallback ( std::function< void()>  v)
inline

Definition at line 185 of file GPUChainTracking.h.

◆ SetMatLUT() [1/2]

void o2::gpu::GPUChainTracking::SetMatLUT ( const o2::base::MatLayerCylSet lut)
inline

Definition at line 178 of file GPUChainTracking.h.

◆ SetMatLUT() [2/2]

void GPUChainTracking::SetMatLUT ( std::unique_ptr< o2::base::MatLayerCylSet > &&  lut)

Definition at line 585 of file GPUChainTracking.cxx.

◆ SetO2Propagator()

void GPUChainTracking::SetO2Propagator ( const o2::base::Propagator prop)

Definition at line 969 of file GPUChainTracking.cxx.

◆ SetQAFromForeignChain()

void o2::gpu::GPUChainTracking::SetQAFromForeignChain ( GPUChainTracking chain)
inline

Definition at line 149 of file GPUChainTracking.h.

◆ SetSubOutputControl()

void o2::gpu::GPUChainTracking::SetSubOutputControl ( int32_t  i,
GPUOutputControl v 
)
inline

Definition at line 184 of file GPUChainTracking.h.

◆ SetTPCFastTransform()

void GPUChainTracking::SetTPCFastTransform ( std::unique_ptr< TPCFastTransform > &&  tpcFastTransform,
std::unique_ptr< CorrectionMapsHelper > &&  tpcTransformHelper 
)

Definition at line 577 of file GPUChainTracking.cxx.

◆ SetTRDGeometry() [1/2]

void o2::gpu::GPUChainTracking::SetTRDGeometry ( const o2::trd::GeometryFlat geo)
inline

Definition at line 179 of file GPUChainTracking.h.

◆ SetTRDGeometry() [2/2]

void GPUChainTracking::SetTRDGeometry ( std::unique_ptr< o2::trd::GeometryFlat > &&  geo)

Definition at line 591 of file GPUChainTracking.cxx.

◆ SetUpdateCalibObjects()

void GPUChainTracking::SetUpdateCalibObjects ( const GPUCalibObjectsConst obj,
const GPUNewCalibValues vals 
)

Definition at line 942 of file GPUChainTracking.cxx.

◆ SupportsDoublePipeline()

bool o2::gpu::GPUChainTracking::SupportsDoublePipeline ( )
inlineoverridevirtual

Reimplemented from o2::gpu::GPUChain.

Definition at line 73 of file GPUChainTracking.h.

◆ UpdateGPUCalibObjects()

void GPUChainTracking::UpdateGPUCalibObjects ( int32_t  stream,
const GPUCalibObjectsConst ptrMask = nullptr 
)
protected

Definition at line 386 of file GPUChainTracking.cxx.

◆ UpdateGPUCalibObjectsPtrs()

void GPUChainTracking::UpdateGPUCalibObjectsPtrs ( int32_t  stream)
protected

Definition at line 448 of file GPUChainTracking.cxx.

◆ ValidateSettings()

bool GPUChainTracking::ValidateSettings ( )
protected

Definition at line 254 of file GPUChainTracking.cxx.

◆ ValidateSteps()

bool GPUChainTracking::ValidateSteps ( )
protected

Definition at line 168 of file GPUChainTracking.cxx.

◆ WriteOutput()

void GPUChainTracking::WriteOutput ( int32_t  iSector,
int32_t  threadId 
)
protected

Definition at line 476 of file GPUChainTrackingSectorTracker.cxx.

Friends And Related Symbol Documentation

◆ GPUReconstruction

friend class GPUReconstruction
friend

Definition at line 61 of file GPUChainTracking.h.

Member Data Documentation

◆ mCFContext

std::unique_ptr<GPUTPCCFChainContext> o2::gpu::GPUChainTracking::mCFContext
protected

Definition at line 268 of file GPUChainTracking.h.

◆ mClusterNativeAccess

std::unique_ptr<o2::tpc::ClusterNativeAccess> o2::gpu::GPUChainTracking::mClusterNativeAccess
protected

Definition at line 263 of file GPUChainTracking.h.

◆ mCompressionStatistics

std::unique_ptr<GPUTPCClusterStatistics> o2::gpu::GPUChainTracking::mCompressionStatistics
protected

Definition at line 249 of file GPUChainTracking.h.

◆ mConfigDisplay

const GPUSettingsDisplay* o2::gpu::GPUChainTracking::mConfigDisplay = nullptr

Definition at line 187 of file GPUChainTracking.h.

◆ mConfigQA

const GPUSettingsQA* o2::gpu::GPUChainTracking::mConfigQA = nullptr

Definition at line 188 of file GPUChainTracking.h.

◆ mDebugFile

std::unique_ptr<std::ofstream> o2::gpu::GPUChainTracking::mDebugFile
protected

Definition at line 279 of file GPUChainTracking.h.

◆ mdEdxCalibContainerU

std::unique_ptr<o2::tpc::CalibdEdxContainer> o2::gpu::GPUChainTracking::mdEdxCalibContainerU
protected

Definition at line 258 of file GPUChainTracking.h.

◆ mDisplayRunning

bool o2::gpu::GPUChainTracking::mDisplayRunning = false
protected

Definition at line 245 of file GPUChainTracking.h.

◆ mEventDisplay

std::unique_ptr<GPUDisplayInterface> o2::gpu::GPUChainTracking::mEventDisplay
protected

Definition at line 246 of file GPUChainTracking.h.

◆ mEvents

eventStruct* o2::gpu::GPUChainTracking::mEvents = nullptr
protected

Definition at line 282 of file GPUChainTracking.h.

◆ mFlatObjectsDevice

GPUTrackingFlatObjects o2::gpu::GPUChainTracking::mFlatObjectsDevice
protected

Definition at line 240 of file GPUChainTracking.h.

◆ mFlatObjectsShadow

GPUTrackingFlatObjects o2::gpu::GPUChainTracking::mFlatObjectsShadow
protected

Definition at line 239 of file GPUChainTracking.h.

◆ mFractionalQAEnabled

bool o2::gpu::GPUChainTracking::mFractionalQAEnabled = false

Definition at line 189 of file GPUChainTracking.h.

◆ mInputsHost

std::unique_ptr<GPUTrackingInputProvider> o2::gpu::GPUChainTracking::mInputsHost
protected

Definition at line 241 of file GPUChainTracking.h.

◆ mInputsShadow

std::unique_ptr<GPUTrackingInputProvider> o2::gpu::GPUChainTracking::mInputsShadow
protected

Definition at line 242 of file GPUChainTracking.h.

◆ mIOMem

struct o2::gpu::GPUChainTracking::InOutMemory o2::gpu::GPUChainTracking::mIOMem

◆ mIOPtrs

GPUTrackingInOutPointers& o2::gpu::GPUChainTracking::mIOPtrs

Definition at line 80 of file GPUChainTracking.h.

◆ mMatLUTU

std::unique_ptr<o2::base::MatLayerCylSet> o2::gpu::GPUChainTracking::mMatLUTU
protected

Definition at line 259 of file GPUChainTracking.h.

◆ mMaxTPCHits

uint32_t o2::gpu::GPUChainTracking::mMaxTPCHits = 0
protected

Definition at line 275 of file GPUChainTracking.h.

◆ mMaxTRDTracklets

uint32_t o2::gpu::GPUChainTracking::mMaxTRDTracklets = 0
protected

Definition at line 276 of file GPUChainTracking.h.

◆ mNewCalibObjects

std::unique_ptr<GPUCalibObjectsConst> o2::gpu::GPUChainTracking::mNewCalibObjects
protected

Definition at line 270 of file GPUChainTracking.h.

◆ mNewCalibValues

std::unique_ptr<GPUNewCalibValues> o2::gpu::GPUChainTracking::mNewCalibValues
protected

Definition at line 272 of file GPUChainTracking.h.

◆ mOutputQueue

std::vector<outputQueueEntry> o2::gpu::GPUChainTracking::mOutputQueue
protected

Definition at line 286 of file GPUChainTracking.h.

◆ mQA

std::unique_ptr<GPUQA> o2::gpu::GPUChainTracking::mQA
protected

Definition at line 248 of file GPUChainTracking.h.

◆ mQAFromForeignChain

GPUChainTracking* o2::gpu::GPUChainTracking::mQAFromForeignChain = nullptr
protected

Definition at line 247 of file GPUChainTracking.h.

◆ mSectorSelectorReady

volatile int32_t o2::gpu::GPUChainTracking::mSectorSelectorReady = 0
protected

Definition at line 283 of file GPUChainTracking.h.

◆ mSubOutputControls

std::array<GPUOutputControl*, GPUTrackingOutputs::count()> o2::gpu::GPUChainTracking::mSubOutputControls = {nullptr}
protected

Definition at line 264 of file GPUChainTracking.h.

◆ mTPCFastTransformHelperU

std::unique_ptr<CorrectionMapsHelper> o2::gpu::GPUChainTracking::mTPCFastTransformHelperU
protected

Definition at line 255 of file GPUChainTracking.h.

◆ mTPCFastTransformMShapeU

std::unique_ptr<TPCFastTransform> o2::gpu::GPUChainTracking::mTPCFastTransformMShapeU
protected

Definition at line 254 of file GPUChainTracking.h.

◆ mTPCFastTransformRefU

std::unique_ptr<TPCFastTransform> o2::gpu::GPUChainTracking::mTPCFastTransformRefU
protected

Definition at line 253 of file GPUChainTracking.h.

◆ mTPCFastTransformU

std::unique_ptr<TPCFastTransform> o2::gpu::GPUChainTracking::mTPCFastTransformU
protected

Definition at line 252 of file GPUChainTracking.h.

◆ mTPCPadGainCalibU

std::unique_ptr<TPCPadGainCalib> o2::gpu::GPUChainTracking::mTPCPadGainCalibU
protected

Definition at line 256 of file GPUChainTracking.h.

◆ mTPCSectorScratchOnStack

bool o2::gpu::GPUChainTracking::mTPCSectorScratchOnStack = false
protected

Definition at line 269 of file GPUChainTracking.h.

◆ mTPCZSLinkMappingU

std::unique_ptr<TPCZSLinkMapping> o2::gpu::GPUChainTracking::mTPCZSLinkMappingU
protected

Definition at line 257 of file GPUChainTracking.h.

◆ mTRDGeometryU

std::unique_ptr<o2::trd::GeometryFlat> o2::gpu::GPUChainTracking::mTRDGeometryU
protected

Definition at line 260 of file GPUChainTracking.h.

◆ mTriggerBuffer

std::unique_ptr<GPUTriggerOutputs> o2::gpu::GPUChainTracking::mTriggerBuffer
protected

Definition at line 265 of file GPUChainTracking.h.

◆ mUpdateNewCalibObjects

bool o2::gpu::GPUChainTracking::mUpdateNewCalibObjects = false
protected

Definition at line 271 of file GPUChainTracking.h.

◆ mWriteOutputDone

std::array<int8_t, NSECTORS> o2::gpu::GPUChainTracking::mWriteOutputDone
protected

Definition at line 284 of file GPUChainTracking.h.


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