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

#include <GPUReconstructionOCL.h>

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

Public Member Functions

 GPUReconstructionOCL (const GPUSettingsDeviceBackend &cfg)
 
 ~GPUReconstructionOCL () override
 
template<class T , int32_t I = 0, typename... Args>
void runKernelBackend (const krnlSetupTime &_xyz, const Args &... args)
 
- Public Member Functions inherited from o2::gpu::GPUReconstructionProcessing::KernelInterface< GPUReconstructionOCL, 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)
 
virtual std::unique_ptr< threadContextGetThreadContext () override
 
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)
 
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
 
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
 

Protected Member Functions

int32_t InitDevice_Runtime () override
 
int32_t ExitDevice_Runtime () override
 
virtual int32_t GPUChkErrInternal (const int64_t error, const char *file, int32_t line) const override
 
void SynchronizeGPU () override
 
int32_t DoStuckProtection (int32_t stream, deviceEvent event) 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
 
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
 
template<class T , int32_t I = 0>
int32_t AddKernel ()
 
template<class S , class T , int32_t I>
SgetKernelObject ()
 
int32_t GetOCLPrograms ()
 
- Protected Member Functions inherited from o2::gpu::GPUReconstructionProcessing::KernelInterface< GPUReconstructionOCL, 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)
 
virtual void SetONNXGPUStream (Ort::SessionOptions &, int32_t, int32_t *)
 
int32_t GetThread ()
 
- 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 ()
 
virtual bool CanQueryMaxMemory ()
 
GPUConstantMemprocessors ()
 
const GPUConstantMemprocessors () const
 
GPUParamparam ()
 

Protected Attributes

GPUReconstructionOCLInternalsmInternals
 
float mOclVersion
 
- 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 30 of file GPUReconstructionOCL.h.

Constructor & Destructor Documentation

◆ GPUReconstructionOCL()

GPUReconstructionOCL::GPUReconstructionOCL ( const GPUSettingsDeviceBackend cfg)

Definition at line 37 of file GPUReconstructionOCL.cxx.

◆ ~GPUReconstructionOCL()

GPUReconstructionOCL::~GPUReconstructionOCL ( )
override

Definition at line 46 of file GPUReconstructionOCL.cxx.

Member Function Documentation

◆ AddKernel()

template<class T , int32_t I>
int32_t GPUReconstructionOCL::AddKernel ( )
protected

Definition at line 54 of file GPUReconstructionOCLKernels.cxx.

◆ DoStuckProtection()

int32_t GPUReconstructionOCL::DoStuckProtection ( int32_t  stream,
deviceEvent  event 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

Definition at line 466 of file GPUReconstructionOCL.cxx.

◆ ExitDevice_Runtime()

int32_t GPUReconstructionOCL::ExitDevice_Runtime ( )
overrideprotectedvirtual

Implements o2::gpu::GPUReconstructionDeviceBase.

Definition at line 390 of file GPUReconstructionOCL.cxx.

◆ getKernelObject()

template<class S , class T , int32_t I>
S & GPUReconstructionOCL::getKernelObject ( )
protected

Definition at line 70 of file GPUReconstructionOCLKernels.cxx.

◆ GetOCLPrograms()

int32_t GPUReconstructionOCL::GetOCLPrograms ( )
protected

Definition at line 534 of file GPUReconstructionOCL.cxx.

◆ GPUChkErrInternal()

int32_t GPUReconstructionOCL::GPUChkErrInternal ( const int64_t  error,
const char file,
int32_t  line 
) const
overrideprotectedvirtual

Implements o2::gpu::GPUReconstructionDeviceBase.

Definition at line 55 of file GPUReconstructionOCL.cxx.

◆ GPUDebug()

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

Implements o2::gpu::GPUReconstructionDeviceBase.

Definition at line 517 of file GPUReconstructionOCL.cxx.

◆ GPUMemCpy()

size_t GPUReconstructionOCL::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

Implements o2::gpu::GPUReconstructionDeviceBase.

Definition at line 422 of file GPUReconstructionOCL.cxx.

◆ InitDevice_Runtime()

int32_t GPUReconstructionOCL::InitDevice_Runtime ( )
overrideprotectedvirtual

Implements o2::gpu::GPUReconstructionDeviceBase.

Definition at line 64 of file GPUReconstructionOCL.cxx.

◆ IsEventDone()

bool GPUReconstructionOCL::IsEventDone ( deviceEvent evList,
int32_t  nEvents = 1 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

Definition at line 505 of file GPUReconstructionOCL.cxx.

◆ RecordMarker()

void GPUReconstructionOCL::RecordMarker ( deviceEvent ev,
int32_t  stream 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

Definition at line 464 of file GPUReconstructionOCL.cxx.

◆ ReleaseEvent()

void GPUReconstructionOCL::ReleaseEvent ( deviceEvent  ev)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

Definition at line 462 of file GPUReconstructionOCL.cxx.

◆ runKernelBackend()

template<class T , int32_t I, typename... Args>
void GPUReconstructionOCL::runKernelBackend ( const krnlSetupTime _xyz,
const Args &...  args 
)
inline

Definition at line 23 of file GPUReconstructionOCLKernels.cxx.

◆ StreamWaitForEvents()

void GPUReconstructionOCL::StreamWaitForEvents ( int32_t  stream,
deviceEvent evList,
int32_t  nEvents = 1 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

Definition at line 498 of file GPUReconstructionOCL.cxx.

◆ SynchronizeEvents()

void GPUReconstructionOCL::SynchronizeEvents ( deviceEvent evList,
int32_t  nEvents = 1 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

Definition at line 496 of file GPUReconstructionOCL.cxx.

◆ SynchronizeGPU()

void GPUReconstructionOCL::SynchronizeGPU ( )
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

Definition at line 487 of file GPUReconstructionOCL.cxx.

◆ SynchronizeStream()

void GPUReconstructionOCL::SynchronizeStream ( int32_t  stream)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUReconstructionCPU.

Definition at line 494 of file GPUReconstructionOCL.cxx.

◆ WriteToConstantMemory()

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

Implements o2::gpu::GPUReconstructionDeviceBase.

Definition at line 450 of file GPUReconstructionOCL.cxx.

Member Data Documentation

◆ mInternals

GPUReconstructionOCLInternals* o2::gpu::GPUReconstructionOCL::mInternals
protected

Definition at line 61 of file GPUReconstructionOCL.h.

◆ mOclVersion

float o2::gpu::GPUReconstructionOCL::mOclVersion
protected

Definition at line 62 of file GPUReconstructionOCL.h.


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