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

#include <GPUReconstructionCUDA.h>

Inherits o2::gpu::GPUReconstructionProcessing::KernelInterface< GPUReconstructionCUDA, GPUReconstructionDeviceBase >.

Classes

struct  kernelBackendMacro
 

Public Member Functions

 GPUReconstructionCUDA (const GPUSettingsDeviceBackend &cfg)
 
 ~GPUReconstructionCUDA () override
 
void PrintKernelOccupancies () override
 
virtual int32_t GPUChkErrInternal (const int64_t error, const char *file, int32_t line) const override
 
template<class T , int32_t I = 0, typename... Args>
void runKernelBackend (const krnlSetupTime &_xyz, const Args &... args)
 
template<class T , int32_t I = 0, typename... Args>
void runKernelBackendTimed (const krnlSetupTime &_xyz, const Args &... args)
 
- Public Member Functions inherited from o2::gpu::GPUReconstructionProcessing::KernelInterface< GPUReconstructionCUDA, GPUReconstructionDeviceBase >
 KernelInterface (const Args &... args)
 
- Public Member Functions inherited from o2::gpu::GPUReconstructionDeviceBase
 ~GPUReconstructionDeviceBase () override
 
const GPUParamDeviceParam () const
 
- Public Member Functions inherited from o2::gpu::GPUReconstructionCPU
 ~GPUReconstructionCPU () override
 
template<class S , int32_t I = 0>
krnlProperties getKernelProperties (int gpu=-1)
 
template<class T , int32_t I = 0, typename... Args>
void runKernelBackend (const krnlSetupTime &_xyz, const Args &... args)
 
int32_t GPUStuck ()
 
void ResetDeviceProcessorTypes ()
 
int32_t RunChains () override
 
void UpdateParamOccupancyMap (const uint32_t *mapHost, const uint32_t *mapGPU, uint32_t occupancyTotal, int32_t stream=-1)
 
template<>
void runKernelBackend (const krnlSetupTime &_xyz, void *const &ptr, uint64_t const &size)
 
template<class S , int32_t I>
GPUReconstructionProcessing::krnlProperties getKernelProperties (int gpu)
 
- Public Member Functions inherited from o2::gpu::GPUReconstructionProcessing::KernelInterface< GPUReconstructionCPU, GPUReconstructionProcessing >
 KernelInterface (const Args &... args)
 
- Public Member Functions inherited from o2::gpu::GPUReconstructionProcessing
 ~GPUReconstructionProcessing () override
 
int32_t getNKernelHostThreads (bool splitCores)
 
uint32_t getNActiveThreadsOuterLoop () const
 
void SetNActiveThreadsOuterLoop (uint32_t f)
 
uint32_t SetAndGetNActiveThreadsOuterLoop (bool condition, uint32_t max)
 
void runParallelOuterLoop (bool doGPU, uint32_t nThreads, std::function< void(uint32_t)> lambda)
 
void SetNActiveThreads (int32_t n)
 
const std::string & GetKernelName (int32_t i) const
 
auto & getRecoStepTimer (RecoStep step)
 
HighResTimergetGeneralStepTimer (GeneralStep step)
 
template<class T >
void AddGPUEvents (T *&events)
 
const GPUDefParametersgetGPUParameters (bool doGPU) const override
 
- Public Member Functions inherited from o2::gpu::GPUReconstruction
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 ()
 
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)
 
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 ()
 
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
 
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)
 
double GetStatKernelTime ()
 
double GetStatWallTime ()
 
int32_t GetMaxBackendThreads () const
 

Protected Member Functions

int32_t InitDevice_Runtime () override
 
int32_t ExitDevice_Runtime () override
 
std::unique_ptr< threadContextGetThreadContext () override
 
void SynchronizeGPU () override
 
int32_t GPUDebug (const char *state="UNKNOWN", int32_t stream=-1, bool force=false) override
 
void SynchronizeStream (int32_t stream) override
 
void SynchronizeEvents (deviceEvent *evList, int32_t nEvents=1) override
 
void StreamWaitForEvents (int32_t stream, deviceEvent *evList, int32_t nEvents=1) override
 
bool IsEventDone (deviceEvent *evList, int32_t nEvents=1) override
 
int32_t registerMemoryForGPU_internal (const void *ptr, size_t size) override
 
int32_t unregisterMemoryForGPU_internal (const void *ptr) override
 
size_t WriteToConstantMemory (size_t offset, const void *src, size_t size, int32_t stream=-1, deviceEvent *ev=nullptr) override
 
size_t GPUMemCpy (void *dst, const void *src, size_t size, int32_t stream, int32_t toGPU, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1) override
 
void ReleaseEvent (deviceEvent ev) override
 
void RecordMarker (deviceEvent *ev, int32_t stream) override
 
void SetONNXGPUStream (Ort::SessionOptions &session_options, int32_t stream, int32_t *deviceId) override
 
void GetITSTraits (std::unique_ptr< o2::its::TrackerTraits > *trackerTraits, std::unique_ptr< o2::its::VertexerTraits > *vertexerTraits, std::unique_ptr< o2::its::TimeFrame > *timeFrame) override
 
bool CanQueryMaxMemory () override
 
void startGPUProfiling () override
 
void endGPUProfiling () override
 
- Protected Member Functions inherited from o2::gpu::GPUReconstructionProcessing::KernelInterface< GPUReconstructionCUDA, GPUReconstructionDeviceBase >
virtual void runKernelVirtual (const int num, const void *args)
 
- Protected Member Functions inherited from o2::gpu::GPUReconstructionDeviceBase
 GPUReconstructionDeviceBase (const GPUSettingsDeviceBackend &cfg, size_t sizeCheck)
 
int32_t InitDevice () override
 
int32_t ExitDevice () override
 
int32_t registerMemoryForGPU_internal (const void *ptr, size_t size) override
 
int32_t unregisterMemoryForGPU_internal (const void *ptr) override
 
void unregisterRemainingRegisteredMemory ()
 
size_t TransferMemoryInternal (GPUMemoryResource *res, int32_t stream, deviceEvent *ev, deviceEvent *evList, int32_t nEvents, bool toGPU, const void *src, void *dst) override
 
size_t GPUMemCpyAlways (bool onGpu, void *dst, const void *src, size_t size, int32_t stream, int32_t toGPU, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1) override
 
int32_t GetGlobalLock (void *&pLock)
 
void ReleaseGlobalLock (void *sem)
 
void runConstantRegistrators ()
 
- Protected Member Functions inherited from o2::gpu::GPUReconstructionCPU
 GPUReconstructionCPU (const GPUSettingsDeviceBackend &cfg)
 
size_t TransferMemoryResourceToGPU (GPUMemoryResource *res, int32_t stream=-1, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1)
 
size_t TransferMemoryResourceToHost (GPUMemoryResource *res, int32_t stream=-1, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1)
 
size_t TransferMemoryResourcesToGPU (GPUProcessor *proc, int32_t stream=-1, bool all=false)
 
size_t TransferMemoryResourcesToHost (GPUProcessor *proc, int32_t stream=-1, bool all=false)
 
size_t TransferMemoryResourceLinkToGPU (int16_t res, int32_t stream=-1, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1)
 
size_t TransferMemoryResourceLinkToHost (int16_t res, int32_t stream=-1, deviceEvent *ev=nullptr, deviceEvent *evList=nullptr, int32_t nEvents=1)
 
int32_t GetThread ()
 
virtual int32_t DoStuckProtection (int32_t stream, deviceEvent event)
 
- Protected Member Functions inherited from o2::gpu::GPUReconstructionProcessing
 GPUReconstructionProcessing (const GPUSettingsDeviceBackend &cfg)
 
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)
 
- Protected Member Functions inherited from o2::gpu::GPUReconstruction
void AllocateRegisteredMemoryInternal (GPUMemoryResource *res, GPUOutputControl *control, GPUReconstruction *recPool)
 
void FreeRegisteredMemory (GPUMemoryResource *res)
 
 GPUReconstruction (const GPUSettingsDeviceBackend &cfg)
 
int32_t InitPhaseBeforeDevice ()
 
int32_t InitPhasePermanentMemory ()
 
int32_t InitPhaseAfterDevice ()
 
void WriteConstantParams ()
 
void UpdateMaxMemoryUsed ()
 
int32_t EnqueuePipeline (bool terminate=false)
 
GPUChainGetNextChainInQueue ()
 
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 ()
 
GPUConstantMemprocessors ()
 
const GPUConstantMemprocessors () const
 
GPUParamparam ()
 

Protected Attributes

template<class T , class S >
GPUReconstructionCUDAInternalsmInternals
 
- Protected Attributes inherited from o2::gpu::GPUReconstructionDeviceBase
int32_t mDeviceId = -1
 
DebugEventsmDebugEvents = nullptr
 
std::vector< void * > mDeviceConstantMemList
 
- Protected Attributes inherited from o2::gpu::GPUReconstructionCPU
GPUProcessorProcessors mProcShadow
 
GPUConstantMem *& mProcessorsShadow = mProcShadow.mProcessorsProc
 
uint32_t mBlockCount = 1
 
uint32_t mThreadCount = 1
 
uint32_t mWarpSize = 1
 
- Protected Attributes inherited from o2::gpu::GPUReconstructionProcessing
int32_t mActiveHostKernelThreads = 0
 
uint32_t mNActiveThreadsOuterLoop = 1
 
std::vector< std::vector< deviceEvent > > mEvents
 
HighResTimer mTimersGeneralSteps [GPUDataTypes::N_GENERAL_STEPS]
 
std::vector< std::unique_ptr< timerMeta > > mTimers
 
RecoStepTimerMeta mTimersRecoSteps [GPUDataTypes::N_RECO_STEPS]
 
HighResTimer mTimerTotal
 
GPUDefParametersmParCPU = nullptr
 
GPUDefParametersmParDevice = nullptr
 
- Protected Attributes inherited from o2::gpu::GPUReconstruction
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
 

Additional Inherited Members

- Public Types inherited from o2::gpu::GPUReconstructionProcessing
using deviceEvent = gpu_reconstruction_kernels::deviceEvent
 
using threadContext = gpu_reconstruction_kernels::threadContext
 
- Public Types inherited from o2::gpu::GPUReconstruction
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
 
- Static Public Member Functions inherited from o2::gpu::GPUReconstructionProcessing
template<class T , int32_t I>
static const charGetKernelName ()
 
template<class T , int32_t I = 0>
static uint32_t GetKernelNum ()
 
- Static Public Member Functions inherited from o2::gpu::GPUReconstruction
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 inherited from o2::gpu::GPUReconstruction
std::shared_ptr< GPUReconstructionThreadingmThreading
 
- Static Public Attributes inherited from o2::gpu::GPUReconstructionCPU
static constexpr krnlRunRange krnlRunRangeNone {0}
 
static constexpr krnlEvent krnlEventNone = krnlEvent{nullptr, nullptr, 0}
 
- Static Public Attributes inherited from o2::gpu::GPUReconstruction
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 []
 
- Static Protected Member Functions inherited from o2::gpu::GPUReconstructionDeviceBase
static std::vector< void *(*)()> & getDeviceConstantMemRegistratorsVector ()
 
- Static Protected Member Functions inherited from o2::gpu::GPUReconstruction
static std::shared_ptr< LibraryLoader > * GetLibraryInstance (DeviceType type, bool verbose)
 
static GPUReconstructionGPUReconstruction_Create_CPU (const GPUSettingsDeviceBackend &cfg)
 
- Static Protected Attributes inherited from o2::gpu::GPUReconstructionProcessing
static const std::vector< std::string > mKernelNames
 
- Static Protected Attributes inherited from o2::gpu::GPUReconstruction
static std::shared_ptr< LibraryLoadersLibCUDA
 
static std::shared_ptr< LibraryLoadersLibHIP
 
static std::shared_ptr< LibraryLoadersLibOCL
 

Detailed Description

Definition at line 38 of file GPUReconstructionCUDA.h.

Constructor & Destructor Documentation

◆ GPUReconstructionCUDA()

o2::gpu::GPUReconstructionCUDA::GPUReconstructionCUDA ( const GPUSettingsDeviceBackend cfg)

◆ ~GPUReconstructionCUDA()

o2::gpu::GPUReconstructionCUDA::~GPUReconstructionCUDA ( )
override

Member Function Documentation

◆ CanQueryMaxMemory()

bool o2::gpu::GPUReconstructionCUDA::CanQueryMaxMemory ( )
inlineoverrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstruction.

Definition at line 82 of file GPUReconstructionCUDA.h.

◆ endGPUProfiling()

void o2::gpu::GPUReconstructionCUDA::endGPUProfiling ( )
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstruction.

◆ ExitDevice_Runtime()

int32_t o2::gpu::GPUReconstructionCUDA::ExitDevice_Runtime ( )
overrideprotectedvirtual

◆ GetITSTraits()

void o2::gpu::GPUReconstructionCUDA::GetITSTraits ( std::unique_ptr< o2::its::TrackerTraits > *  trackerTraits,
std::unique_ptr< o2::its::VertexerTraits > *  vertexerTraits,
std::unique_ptr< o2::its::TimeFrame > *  timeFrame 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstruction.

◆ GetThreadContext()

std::unique_ptr< threadContext > o2::gpu::GPUReconstructionCUDA::GetThreadContext ( )
overrideprotectedvirtual

◆ GPUChkErrInternal()

virtual int32_t o2::gpu::GPUReconstructionCUDA::GPUChkErrInternal ( const int64_t  error,
const char file,
int32_t  line 
) const
overridevirtual

◆ GPUDebug()

int32_t o2::gpu::GPUReconstructionCUDA::GPUDebug ( const char state = "UNKNOWN",
int32_t  stream = -1,
bool  force = false 
)
overrideprotectedvirtual

◆ GPUMemCpy()

size_t o2::gpu::GPUReconstructionCUDA::GPUMemCpy ( void dst,
const void src,
size_t  size,
int32_t  stream,
int32_t  toGPU,
deviceEvent ev = nullptr,
deviceEvent evList = nullptr,
int32_t  nEvents = 1 
)
overrideprotectedvirtual

◆ InitDevice_Runtime()

int32_t o2::gpu::GPUReconstructionCUDA::InitDevice_Runtime ( )
overrideprotectedvirtual

◆ IsEventDone()

bool o2::gpu::GPUReconstructionCUDA::IsEventDone ( deviceEvent evList,
int32_t  nEvents = 1 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

◆ PrintKernelOccupancies()

void o2::gpu::GPUReconstructionCUDA::PrintKernelOccupancies ( )
overridevirtual

Reimplemented from o2::gpu::GPUReconstruction.

◆ RecordMarker()

void o2::gpu::GPUReconstructionCUDA::RecordMarker ( deviceEvent ev,
int32_t  stream 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

◆ registerMemoryForGPU_internal()

int32_t o2::gpu::GPUReconstructionCUDA::registerMemoryForGPU_internal ( const void ptr,
size_t  size 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

◆ ReleaseEvent()

void o2::gpu::GPUReconstructionCUDA::ReleaseEvent ( deviceEvent  ev)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

◆ runKernelBackend()

template<class T , int32_t I = 0, typename... Args>
void o2::gpu::GPUReconstructionCUDA::runKernelBackend ( const krnlSetupTime _xyz,
const Args &...  args 
)

◆ runKernelBackendTimed()

template<class T , int32_t I = 0, typename... Args>
void o2::gpu::GPUReconstructionCUDA::runKernelBackendTimed ( const krnlSetupTime _xyz,
const Args &...  args 
)

◆ SetONNXGPUStream()

void o2::gpu::GPUReconstructionCUDA::SetONNXGPUStream ( Ort::SessionOptions &  session_options,
int32_t  stream,
int32_t *  deviceId 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

◆ startGPUProfiling()

void o2::gpu::GPUReconstructionCUDA::startGPUProfiling ( )
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstruction.

◆ StreamWaitForEvents()

void o2::gpu::GPUReconstructionCUDA::StreamWaitForEvents ( int32_t  stream,
deviceEvent evList,
int32_t  nEvents = 1 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

◆ SynchronizeEvents()

void o2::gpu::GPUReconstructionCUDA::SynchronizeEvents ( deviceEvent evList,
int32_t  nEvents = 1 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

◆ SynchronizeGPU()

void o2::gpu::GPUReconstructionCUDA::SynchronizeGPU ( )
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

◆ SynchronizeStream()

void o2::gpu::GPUReconstructionCUDA::SynchronizeStream ( int32_t  stream)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

◆ unregisterMemoryForGPU_internal()

int32_t o2::gpu::GPUReconstructionCUDA::unregisterMemoryForGPU_internal ( const void ptr)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

◆ WriteToConstantMemory()

size_t o2::gpu::GPUReconstructionCUDA::WriteToConstantMemory ( size_t  offset,
const void src,
size_t  size,
int32_t  stream = -1,
deviceEvent ev = nullptr 
)
overrideprotectedvirtual

Member Data Documentation

◆ mInternals

template<class T , class S >
GPUReconstructionCUDAInternals* o2::gpu::GPUReconstructionCUDA::mInternals
protected

Definition at line 58 of file GPUReconstructionCUDA.h.


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