Project
Loading...
Searching...
No Matches
GPUProcessor.cxx
Go to the documentation of this file.
1
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3
// All rights not expressly granted are reserved.
4
//
5
// This software is distributed under the terms of the GNU General Public
6
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7
//
8
// In applying this license CERN does not waive the privileges and immunities
9
// granted to it by virtue of its status as an Intergovernmental Organization
10
// or submit itself to any jurisdiction.
11
14
15
#include "
GPUProcessor.h
"
16
#include "
GPUReconstruction.h
"
17
#include "
GPUReconstructionDeviceBase.h
"
18
19
using namespace
o2::gpu
;
20
21
GPUProcessor::GPUProcessor
() : mRec(nullptr), mGPUProcessorType(PROCESSOR_TYPE_CPU), mLinkedProcessor(nullptr), mConstantMem(nullptr), mAllocateAndInitializeLate(false) {}
22
23
GPUProcessor::~GPUProcessor
()
24
{
25
if
(
mRec
&&
mRec
->
GetProcessingSettings
().memoryAllocationStrategy ==
GPUMemoryResource::ALLOCATION_INDIVIDUAL
) {
26
Clear
();
27
}
28
}
29
30
void
GPUProcessor::InitGPUProcessor
(
GPUReconstruction
*
rec
,
GPUProcessor::ProcessorType
type
,
GPUProcessor
* slaveProcessor)
31
{
32
mRec
=
rec
;
33
mGPUProcessorType
=
type
;
34
if
(slaveProcessor) {
35
slaveProcessor->
mLinkedProcessor
=
this
;
36
mLinkedProcessor
= slaveProcessor;
37
}
38
rec
->
ConstructGPUProcessor
(
this
);
39
}
40
41
void
GPUProcessor::Clear
() {
mRec
->
FreeRegisteredMemory
(
this
,
true
); }
GPUProcessor.h
GPUReconstructionDeviceBase.h
GPUReconstruction.h
o2::gpu::GPUMemoryResource::ALLOCATION_INDIVIDUAL
@ ALLOCATION_INDIVIDUAL
Definition
GPUMemoryResource.h:74
o2::gpu::GPUProcessor
Definition
GPUProcessor.h:34
o2::gpu::GPUProcessor::~GPUProcessor
~GPUProcessor()
Definition
GPUProcessor.cxx:23
o2::gpu::GPUProcessor::Clear
void Clear()
Definition
GPUProcessor.cxx:41
o2::gpu::GPUProcessor::mRec
GPUReconstruction * mRec
Definition
GPUProcessor.h:148
o2::gpu::GPUProcessor::GPUProcessor
GPUProcessor()
Definition
GPUProcessor.cxx:21
o2::gpu::GPUProcessor::InitGPUProcessor
void InitGPUProcessor(GPUReconstruction *rec, ProcessorType type=PROCESSOR_TYPE_CPU, GPUProcessor *slaveProcessor=nullptr)
Definition
GPUProcessor.cxx:30
o2::gpu::GPUProcessor::mGPUProcessorType
ProcessorType mGPUProcessorType
Definition
GPUProcessor.h:149
o2::gpu::GPUProcessor::ProcessorType
ProcessorType
Definition
GPUProcessor.h:40
o2::gpu::GPUProcessor::mLinkedProcessor
GPUProcessor * mLinkedProcessor
Definition
GPUProcessor.h:150
o2::gpu::GPUReconstruction
Definition
GPUReconstruction.h:59
o2::gpu::GPUReconstruction::ConstructGPUProcessor
void ConstructGPUProcessor(GPUProcessor *proc)
Definition
GPUReconstruction.cxx:470
o2::gpu::GPUReconstruction::FreeRegisteredMemory
void FreeRegisteredMemory(GPUProcessor *proc, bool freeCustom=false, bool freePermanent=false)
Definition
GPUReconstruction.cxx:763
o2::gpu::GPUReconstruction::GetProcessingSettings
const GPUSettingsProcessing & GetProcessingSettings() const
Definition
GPUReconstruction.h:192
type
GLint GLint GLsizei GLint GLenum GLenum type
Definition
glcorearb.h:275
o2::gpu
Definition
TrackTRD.h:35
rec
GPUReconstruction * rec
Definition
standalone.cxx:72
GPU
GPUTracking
Base
GPUProcessor.cxx
Generated on Tue Feb 25 2025 17:03:25 for Project by
1.9.8