|
| ~GPUReconstructionCUDABackend () override |
|
void | GPUFailedMsgA (const int64_t error, const char *file, int32_t line) |
|
| ~GPUReconstructionDeviceBase () override |
|
const GPUParam * | DeviceParam () const |
|
| ~GPUReconstructionCPU () override |
|
template<class S , int32_t I = 0, typename... Args> |
int32_t | runKernel (krnlSetup &&setup, Args &&... args) |
|
template<class S , int32_t I = 0> |
const gpu_reconstruction_kernels::krnlProperties | getKernelProperties () |
|
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) |
|
| GPUReconstructionKernels (const GPUSettingsDeviceBackend &cfg) |
|
| ~GPUReconstructionCPUBackend () override=default |
|
template<class T , int32_t I> |
krnlProperties | getKernelPropertiesBackend () |
|
| ~GPUReconstructionProcessing () override=default |
|
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) |
|
auto & | getRecoStepTimer (RecoStep step) |
|
HighResTimer & | getGeneralStepTimer (GeneralStep step) |
|
template<class T > |
void | AddGPUEvents (T *&events) |
|
virtual std::unique_ptr< gpu_reconstruction_kernels::threadContext > | GetThreadContext () override |
|
virtual | ~GPUReconstruction () |
|
| GPUReconstruction (const GPUReconstruction &)=delete |
|
GPUReconstruction & | operator= (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 void * | getGPUPointer (void *ptr) |
|
virtual void | startGPUProfiling () |
|
virtual void | endGPUProfiling () |
|
int32_t | CheckErrorCodes (bool cpuOnly=false, bool forceShowErrors=false, std::vector< std::array< uint32_t, 4 > > *fillErrors=nullptr) |
|
void | RunPipelineWorker () |
|
void | TerminatePipelineWorker () |
|
GPUMemoryResource & | Res (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) |
|
void * | AllocateUnmanagedMemory (size_t size, int32_t type) |
|
void * | AllocateVolatileDeviceMemory (size_t size) |
|
void * | AllocateVolatileMemory (size_t size, bool device) |
|
void | FreeRegisteredMemory (GPUProcessor *proc, bool freeCustom=false, bool freePermanent=false) |
|
void | FreeRegisteredMemory (int16_t res) |
|
void | ClearAllocatedMemory (bool clearOutputs=true) |
|
void | ReturnVolatileDeviceMemory () |
|
void | ReturnVolatileMemory () |
|
void | PushNonPersistentMemory (uint64_t tag) |
|
void | PopNonPersistentMemory (RecoStep step, uint64_t tag) |
|
void | BlockStackedMemory (GPUReconstruction *rec) |
|
void | UnblockStackedMemory () |
|
void | ResetRegisteredMemoryPointers (GPUProcessor *proc) |
|
void | ResetRegisteredMemoryPointers (int16_t res) |
|
void | ComputeReuseMax (GPUProcessor *proc) |
|
void | PrintMemoryStatistics () |
|
void | PrintMemoryOverview () |
|
void | PrintMemoryMax () |
|
void | SetMemoryExternalInput (int16_t res, void *ptr) |
|
GPUMemorySizeScalers * | MemoryScalers () |
|
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 GPUParam & | GetParam () const |
|
const GPUConstantMem & | GetConstantMem () const |
|
const GPUSettingsGRP & | GetGRPSettings () const |
|
const GPUSettingsDeviceBackend & | GetDeviceBackendSettings () |
|
const GPUSettingsProcessing & | GetProcessingSettings () const |
|
bool | IsInitialized () const |
|
void | SetSettings (float solenoidBzNominalGPU, const GPURecoStepConfiguration *workflow=nullptr) |
|
void | SetSettings (const GPUSettingsGRP *grp, const GPUSettingsRec *rec=nullptr, const GPUSettingsProcessing *proc=nullptr, const GPURecoStepConfiguration *workflow=nullptr) |
|
void | SetResetTimers (bool reset) |
|
void | SetDebugLevelTmp (int32_t level) |
|
void | UpdateSettings (const GPUSettingsGRP *g, const GPUSettingsProcessing *p=nullptr, const GPUSettingsRecDynamic *d=nullptr) |
|
void | UpdateDynamicSettings (const GPUSettingsRecDynamic *d) |
|
void | SetOutputControl (const GPUOutputControl &v) |
|
void | SetOutputControl (void *ptr, size_t size) |
|
void | SetInputControl (void *ptr, size_t size) |
|
GPUOutputControl & | OutputControl () |
|
int32_t | NStreams () const |
|
const void * | DeviceMemoryBase () 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 |
|
|
| GPUReconstructionCUDABackend (const GPUSettingsDeviceBackend &cfg) |
|
void | PrintKernelOccupancies () override |
|
template<class T , int32_t I = 0, typename... Args> |
int32_t | runKernelBackend (const krnlSetupArgs< T, I, Args... > &args) |
|
template<class T , int32_t I = 0, typename... Args> |
void | runKernelBackendInternal (const krnlSetupTime &_xyz, const Args &... args) |
|
template<class T , int32_t I = 0> |
gpu_reconstruction_kernels::krnlProperties | getKernelPropertiesBackend () |
|
void | getRTCKernelCalls (std::vector< std::string > &kernels) |
|
| GPUReconstructionDeviceBase (const GPUSettingsDeviceBackend &cfg, size_t sizeCheck) |
|
int32_t | InitDevice () override |
|
virtual int32_t | InitDevice_Runtime ()=0 |
|
int32_t | ExitDevice () override |
|
virtual int32_t | ExitDevice_Runtime ()=0 |
|
int32_t | registerMemoryForGPU_internal (const void *ptr, size_t size) override |
|
int32_t | unregisterMemoryForGPU_internal (const void *ptr) override |
|
void | unregisterRemainingRegisteredMemory () |
|
virtual const GPUTPCTracker * | CPUTracker (int32_t iSector) |
|
int32_t | GPUDebug (const char *state="UNKNOWN", int32_t stream=-1, bool force=false) override=0 |
|
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 | 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=0 |
|
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 |
|
size_t | WriteToConstantMemory (size_t offset, const void *src, size_t size, int32_t stream=-1, deviceEvent *ev=nullptr) override=0 |
|
int32_t | GetGlobalLock (void *&pLock) |
|
void | ReleaseGlobalLock (void *sem) |
|
void | runConstantRegistrators () |
|
| GPUReconstructionCPU (const GPUSettingsDeviceBackend &cfg) |
|
virtual void | SynchronizeStream (int32_t stream) |
|
virtual void | SynchronizeEvents (deviceEvent *evList, int32_t nEvents=1) |
|
virtual void | StreamWaitForEvents (int32_t stream, deviceEvent *evList, int32_t nEvents=1) |
|
virtual bool | IsEventDone (deviceEvent *evList, int32_t nEvents=1) |
|
virtual void | RecordMarker (deviceEvent *ev, int32_t stream) |
|
virtual void | SynchronizeGPU () |
|
virtual void | ReleaseEvent (deviceEvent ev) |
|
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 | PrepareTextures () |
|
virtual int32_t | DoStuckProtection (int32_t stream, deviceEvent event) |
|
| GPUReconstructionCPUBackend (const GPUSettingsDeviceBackend &cfg) |
|
template<class T , int32_t I = 0, typename... Args> |
int32_t | runKernelBackend (const gpu_reconstruction_kernels::krnlSetupArgs< T, I, Args... > &args) |
|
template<class T , int32_t I = 0, typename... Args> |
int32_t | runKernelBackendInternal (const gpu_reconstruction_kernels::krnlSetupTime &_xyz, const Args &... args) |
|
template<class T , int32_t I> |
gpu_reconstruction_kernels::krnlProperties | getKernelPropertiesBackend () |
|
template<> |
int32_t | runKernelBackendInternal (const krnlSetupTime &_xyz, void *const &ptr, uint64_t const &size) |
|
| GPUReconstructionProcessing (const GPUSettingsDeviceBackend &cfg) |
|
template<class T , int32_t I = 0> |
HighResTimer & | getKernelTimer (RecoStep step, int32_t num=0, size_t addMemorySize=0, bool increment=true) |
|
template<class T , int32_t J = -1> |
HighResTimer & | getTimer (const char *name, int32_t num=-1) |
|
void | AllocateRegisteredMemoryInternal (GPUMemoryResource *res, GPUOutputControl *control, GPUReconstruction *recPool) |
|
void | FreeRegisteredMemory (GPUMemoryResource *res) |
|
| GPUReconstruction (const GPUSettingsDeviceBackend &cfg) |
|
int32_t | InitPhaseBeforeDevice () |
|
virtual void | UpdateAutomaticProcessingSettings () |
|
int32_t | InitPhasePermanentMemory () |
|
int32_t | InitPhaseAfterDevice () |
|
void | WriteConstantParams () |
|
void | UpdateMaxMemoryUsed () |
|
int32_t | EnqueuePipeline (bool terminate=false) |
|
GPUChain * | GetNextChainInQueue () |
|
size_t | AllocateRegisteredMemoryHelper (GPUMemoryResource *res, void *&ptr, void *&memorypool, void *memorybase, size_t memorysize, void *(GPUMemoryResource::*SetPointers)(void *), void *&memorypoolend, const char *device) |
|
size_t | AllocateRegisteredPermanentMemory () |
|
template<class T , class S > |
uint32_t | DumpData (FILE *fp, const T *const *entries, const S *num, InOutPointerType type) |
|
template<class T , class S > |
size_t | ReadData (FILE *fp, const T **entries, S *num, std::unique_ptr< T[]> *mem, InOutPointerType type, T **nonConstPtrs=nullptr) |
|
template<class T > |
T * | AllocateIOMemoryHelper (size_t n, const T *&ptr, std::unique_ptr< T[]> &u) |
|
template<class T > |
void | DumpFlatObjectToFile (const T *obj, const char *file) |
|
template<class T > |
std::unique_ptr< T > | ReadFlatObjectFromFile (const char *file) |
|
template<class T > |
void | DumpStructToFile (const T *obj, const char *file) |
|
template<class T > |
std::unique_ptr< T > | ReadStructFromFile (const char *file) |
|
template<class T > |
int32_t | ReadStructFromFile (const char *file, T *obj) |
|
virtual RecoStepField | AvailableGPURecoSteps () |
|
virtual bool | CanQueryMaxMemory () |
|
GPUConstantMem * | processors () |
|
const GPUConstantMem * | processors () const |
|
GPUParam & | param () |
|
|
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 |
|
std::shared_ptr< GPUReconstructionThreading > | mThreading |
|
static constexpr krnlRunRange | krnlRunRangeNone {0, -1} |
|
static constexpr krnlEvent | krnlEventNone = krnlEvent{nullptr, nullptr, 0} |
|
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 [] |
|
using | deviceEvent = gpu_reconstruction_kernels::deviceEvent |
|
using | krnlExec = gpu_reconstruction_kernels::krnlExec |
|
using | krnlRunRange = gpu_reconstruction_kernels::krnlRunRange |
|
using | krnlEvent = gpu_reconstruction_kernels::krnlEvent |
|
using | krnlSetup = gpu_reconstruction_kernels::krnlSetup |
|
using | krnlSetupTime = gpu_reconstruction_kernels::krnlSetupTime |
|
using | krnlSetupArgs = gpu_reconstruction_kernels::krnlSetupArgs< S, I, Args... > |
|
using | deviceEvent = gpu_reconstruction_kernels::deviceEvent |
|
static std::shared_ptr< LibraryLoader > | sLibCUDA |
|
static std::shared_ptr< LibraryLoader > | sLibHIP |
|
static std::shared_ptr< LibraryLoader > | sLibOCL |
|
Definition at line 32 of file GPUReconstructionCUDA.h.