Project
Loading...
Searching...
No Matches
GPUSettings.h
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
#ifndef GPUSETTINGS_H
16
#define GPUSETTINGS_H
17
18
#include "
GPUCommonDef.h
"
19
#include "
GPUDataTypes.h
"
20
#include "
GPUTPCGMMergedTrackHit.h
"
21
#ifndef GPUCA_GPUCODE_DEVICE
22
#include <vector>
23
#include <string>
24
#endif
25
26
namespace
o2::gpu
27
{
28
class
GPUDisplayFrontendInterface;
29
class
GPUReconstruction;
30
31
class
GPUSettings
32
{
33
public
:
34
enum
CompressionModes
{
CompressionTruncate
= 1,
35
CompressionDifferences
= 2,
36
CompressionTrackModel
= 4,
37
CompressionFull
= 7 };
38
enum
CompressionSort
{
SortTime
= 0,
39
SortPad
= 1,
40
SortZTimePad
= 2,
41
SortZPadTime
= 3,
42
SortNoSort
= 4 };
43
enum
CompressionRejection
{
RejectionNone
= 0,
44
RejectionStrategyA
= 1,
45
RejectionStrategyB
= 2 };
46
47
static
constexpr
const
uint32_t
TPC_MAX_TF_TIME_BIN
= ((256 * 3564 + 2 * 8 - 2) / 8);
48
};
49
50
// Settings describing the global run parameters
51
struct
GPUSettingsGRP
{
52
// All new members must be sizeof(int32_t) resp. sizeof(float) for alignment reasons!, default value for newly added members for old data will be 0.
53
float
solenoidBzNominalGPU
= -5.00668f;
// solenoid field strength
54
int32_t
constBz
= 0;
// for test-MC events with constant Bz
55
int32_t
homemadeEvents
= 0;
// Toy-MC events
56
int32_t
grpContinuousMaxTimeBin
= -2;
// 0 for triggered events, -1 for automatic setting, -2 invalid default
57
int32_t
needsClusterer
= 0;
// Set to true if the data requires the clusterizer
58
int32_t
doCompClusterDecode
= 0;
// Set to true if the data contains compressed TPC clusters
59
int32_t
tpcCutTimeBin
= 0;
// Cut TPC clusters and digits >= this cut
60
};
61
62
// Parameters of the current time frame
63
struct
GPUSettingsTF
{
64
int32_t
hasTfStartOrbit
= 0;
65
int32_t
tfStartOrbit
= 0;
66
int32_t
hasRunStartOrbit
= 0;
67
int32_t
runStartOrbit
= 0;
68
int32_t
hasSimStartOrbit
= 0;
69
int32_t
simStartOrbit
= 0;
70
int32_t
hasNHBFPerTF
= 0;
71
int32_t
nHBFPerTF
= 0;
72
};
73
74
// Settings defining the setup of the GPUReconstruction processing (basically selecting the device / class instance)
75
struct
GPUSettingsDeviceBackend
{
76
uint32_t
deviceType
= GPUDataTypes::DeviceType::CPU;
// Device type, shall use GPUDataTypes::DEVICE_TYPE constants, e.g. CPU / CUDA
77
uint8_t
forceDeviceType
= 1;
// Fail if device initialization fails, otherwise falls back to CPU
78
GPUReconstruction
*
master
=
nullptr
;
// GPUReconstruction master object
79
};
80
81
}
// namespace o2::gpu
82
83
#ifdef GPUCA_GPUCODE_DEVICE
84
#define QCONFIG_GPU
85
#endif
86
// See GPUSettingsList.h for a list of all available settings of GPU Reconstruction
87
#ifndef GPUCA_GPUCODE_GENRTC
88
#include "
utils/qconfig.h
"
89
#endif
90
91
#endif
GPUCommonDef.h
GPUDataTypes.h
GPUTPCGMMergedTrackHit.h
o2::gpu::GPUReconstruction
Definition
GPUReconstruction.h:59
o2::gpu::GPUSettings
Definition
GPUSettings.h:32
o2::gpu::GPUSettings::TPC_MAX_TF_TIME_BIN
static constexpr const uint32_t TPC_MAX_TF_TIME_BIN
Definition
GPUSettings.h:47
o2::gpu::GPUSettings::CompressionSort
CompressionSort
Definition
GPUSettings.h:38
o2::gpu::GPUSettings::SortTime
@ SortTime
Definition
GPUSettings.h:38
o2::gpu::GPUSettings::SortZTimePad
@ SortZTimePad
Definition
GPUSettings.h:40
o2::gpu::GPUSettings::SortNoSort
@ SortNoSort
Definition
GPUSettings.h:42
o2::gpu::GPUSettings::SortPad
@ SortPad
Definition
GPUSettings.h:39
o2::gpu::GPUSettings::SortZPadTime
@ SortZPadTime
Definition
GPUSettings.h:41
o2::gpu::GPUSettings::CompressionRejection
CompressionRejection
Definition
GPUSettings.h:43
o2::gpu::GPUSettings::RejectionStrategyB
@ RejectionStrategyB
Definition
GPUSettings.h:45
o2::gpu::GPUSettings::RejectionNone
@ RejectionNone
Definition
GPUSettings.h:43
o2::gpu::GPUSettings::RejectionStrategyA
@ RejectionStrategyA
Definition
GPUSettings.h:44
o2::gpu::GPUSettings::CompressionModes
CompressionModes
Definition
GPUSettings.h:34
o2::gpu::GPUSettings::CompressionDifferences
@ CompressionDifferences
Definition
GPUSettings.h:35
o2::gpu::GPUSettings::CompressionFull
@ CompressionFull
Definition
GPUSettings.h:37
o2::gpu::GPUSettings::CompressionTruncate
@ CompressionTruncate
Definition
GPUSettings.h:34
o2::gpu::GPUSettings::CompressionTrackModel
@ CompressionTrackModel
Definition
GPUSettings.h:36
o2::gpu
Definition
TrackTRD.h:35
qconfig.h
o2::gpu::GPUSettingsDeviceBackend
Definition
GPUSettings.h:75
o2::gpu::GPUSettingsDeviceBackend::deviceType
uint32_t deviceType
Definition
GPUSettings.h:76
o2::gpu::GPUSettingsDeviceBackend::master
GPUReconstruction * master
Definition
GPUSettings.h:78
o2::gpu::GPUSettingsDeviceBackend::forceDeviceType
uint8_t forceDeviceType
Definition
GPUSettings.h:77
o2::gpu::GPUSettingsGRP
Definition
GPUSettings.h:51
o2::gpu::GPUSettingsGRP::constBz
int32_t constBz
Definition
GPUSettings.h:54
o2::gpu::GPUSettingsGRP::tpcCutTimeBin
int32_t tpcCutTimeBin
Definition
GPUSettings.h:59
o2::gpu::GPUSettingsGRP::homemadeEvents
int32_t homemadeEvents
Definition
GPUSettings.h:55
o2::gpu::GPUSettingsGRP::doCompClusterDecode
int32_t doCompClusterDecode
Definition
GPUSettings.h:58
o2::gpu::GPUSettingsGRP::grpContinuousMaxTimeBin
int32_t grpContinuousMaxTimeBin
Definition
GPUSettings.h:56
o2::gpu::GPUSettingsGRP::needsClusterer
int32_t needsClusterer
Definition
GPUSettings.h:57
o2::gpu::GPUSettingsGRP::solenoidBzNominalGPU
float solenoidBzNominalGPU
Definition
GPUSettings.h:53
o2::gpu::GPUSettingsTF
Definition
GPUSettings.h:63
o2::gpu::GPUSettingsTF::nHBFPerTF
int32_t nHBFPerTF
Definition
GPUSettings.h:71
o2::gpu::GPUSettingsTF::hasTfStartOrbit
int32_t hasTfStartOrbit
Definition
GPUSettings.h:64
o2::gpu::GPUSettingsTF::hasRunStartOrbit
int32_t hasRunStartOrbit
Definition
GPUSettings.h:66
o2::gpu::GPUSettingsTF::simStartOrbit
int32_t simStartOrbit
Definition
GPUSettings.h:69
o2::gpu::GPUSettingsTF::runStartOrbit
int32_t runStartOrbit
Definition
GPUSettings.h:67
o2::gpu::GPUSettingsTF::hasNHBFPerTF
int32_t hasNHBFPerTF
Definition
GPUSettings.h:70
o2::gpu::GPUSettingsTF::hasSimStartOrbit
int32_t hasSimStartOrbit
Definition
GPUSettings.h:68
o2::gpu::GPUSettingsTF::tfStartOrbit
int32_t tfStartOrbit
Definition
GPUSettings.h:65
GPU
GPUTracking
DataTypes
GPUSettings.h
Generated on Tue Feb 25 2025 17:03:25 for Project by
1.9.8