ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUDataPreparation
python
ActsGPUDataPreparationConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
4
from
AthenaConfiguration.ComponentFactory
import
CompFactory
5
6
from
AthDeviceComps.AthDeviceCompsConfig
import
MemoryResourcesToolCfg, CopyToolCfg, DeviceMemoryResourceToolCfg
7
from
AthDeviceComps.DeviceConfigFlags
import
DeviceBackend
8
9
# ============================================================
10
# Tool configurations
11
# ============================================================
12
13
def
CUDAClusterizerToolCfg
(flags,
14
name="CUDAClusterizerTool",
15
**kwargs) -> ComponentAccumulator:
16
acc = ComponentAccumulator()
17
18
from
AthCUDAServices.AthCUDAServicesConfig
import
StreamToolCfg
19
20
kwargs.setdefault(
"MemoryResourcesTool"
, acc.popToolsAndMerge(MemoryResourcesToolCfg(flags)))
21
kwargs.setdefault(
"CopyProviderTool"
, acc.popToolsAndMerge(CopyToolCfg(flags)))
22
kwargs.setdefault(
"StreamTool"
, acc.popToolsAndMerge(StreamToolCfg(flags)))
23
kwargs.setdefault(
"CellSorting"
, flags.Acts.Device.doCellSorting)
24
25
acc.setPrivateTools(
26
CompFactory.ActsTrk.CUDAClusterizationAlgProviderTool(name, **kwargs))
27
return
acc
28
29
def
CUDASPFormationToolCfg
(flags,
30
name="CUDASPFormationTool",
31
**kwargs) -> ComponentAccumulator:
32
acc = ComponentAccumulator()
33
34
from
AthCUDAServices.AthCUDAServicesConfig
import
StreamToolCfg
35
36
kwargs.setdefault(
"MemoryResourcesTool"
, acc.popToolsAndMerge(MemoryResourcesToolCfg(flags)))
37
kwargs.setdefault(
"CopyProviderTool"
, acc.popToolsAndMerge(CopyToolCfg(flags)))
38
kwargs.setdefault(
"StreamTool"
, acc.popToolsAndMerge(StreamToolCfg(flags)))
39
40
acc.setPrivateTools(
41
CompFactory.ActsTrk.CUDASPFormationAlgProviderTool(name, **kwargs))
42
return
acc
43
44
45
def
HIPClusterizerToolCfg
(flags,
46
name="HIPClusterizerTool",
47
**kwargs) -> ComponentAccumulator:
48
acc = ComponentAccumulator()
49
50
from
AthHIPComps.AthHIPCompsConfig
import
StreamToolCfg
51
52
kwargs.setdefault(
"MemoryResourcesTool"
, acc.popToolsAndMerge(
53
MemoryResourcesToolCfg(flags)))
54
kwargs.setdefault(
"CopyProviderTool"
,
55
acc.popToolsAndMerge(CopyToolCfg(flags)))
56
kwargs.setdefault(
"StreamTool"
, acc.popToolsAndMerge(StreamToolCfg(flags)))
57
kwargs.setdefault(
"CellSorting"
, flags.Acts.Device.doCellSorting)
58
59
acc.setPrivateTools(
60
CompFactory.ActsTrk.HIPClusterizationAlgProviderTool(name, **kwargs))
61
return
acc
62
63
64
def
HIPSPFormationToolCfg
(flags,
65
name="HIPSPFormationTool",
66
**kwargs) -> ComponentAccumulator:
67
acc = ComponentAccumulator()
68
69
from
AthHIPComps.AthHIPCompsConfig
import
StreamToolCfg
70
71
kwargs.setdefault(
"MemoryResourcesTool"
, acc.popToolsAndMerge(
72
MemoryResourcesToolCfg(flags)))
73
kwargs.setdefault(
"CopyProviderTool"
,
74
acc.popToolsAndMerge(CopyToolCfg(flags)))
75
kwargs.setdefault(
"StreamTool"
, acc.popToolsAndMerge(StreamToolCfg(flags)))
76
77
acc.setPrivateTools(
78
CompFactory.ActsTrk.HIPSPFormationAlgProviderTool(name, **kwargs))
79
return
acc
80
81
82
def
DeviceClusterizationProviderToolCfg
(flags,
83
**kwargs) -> ComponentAccumulator:
84
acc = ComponentAccumulator()
85
86
if
(flags.Device.Backend == DeviceBackend.CUDA):
87
acc.setPrivateTools(acc.popToolsAndMerge(
88
CUDAClusterizerToolCfg
(flags, **kwargs)))
89
elif
((flags.Device.Backend == DeviceBackend.HIPAMD)
or
90
(flags.Device.Backend == DeviceBackend.HIPNVIDIA)):
91
acc.setPrivateTools(acc.popToolsAndMerge(
92
HIPClusterizerToolCfg
(flags, **kwargs)))
93
else
:
94
raise
ValueError(
95
f
"Unsupported device backend: {flags.Acts.DeviceBackend}"
)
96
97
return
acc
98
99
100
def
DeviceSPFormationProviderToolCfg
(flags,
101
**kwargs) -> ComponentAccumulator:
102
acc = ComponentAccumulator()
103
104
if
flags.Device.Backend == DeviceBackend.CUDA:
105
acc.setPrivateTools(acc.popToolsAndMerge(
106
CUDASPFormationToolCfg
(flags, **kwargs)))
107
elif
((flags.Device.Backend == DeviceBackend.HIPAMD)
or
108
(flags.Device.Backend == DeviceBackend.HIPNVIDIA)):
109
acc.setPrivateTools(acc.popToolsAndMerge(
110
HIPSPFormationToolCfg
(flags, **kwargs)))
111
else
:
112
raise
ValueError(
113
f
"Unsupported device backend: {flags.Acts.DeviceBackend}"
)
114
115
return
acc
116
117
118
# ============================================================
119
# Algorithm configurations
120
# ============================================================
121
122
def
DeviceClusterizationAlgCfg
(flags,
123
name="DeviceClusterizationAlg",
124
previousExtension: str =
None
,
125
**kwargs) -> ComponentAccumulator:
126
127
assert
previousExtension
is
None
or
isinstance(previousExtension, str)
128
acc = ComponentAccumulator()
129
130
kwargs.setdefault(
"DeviceMR"
, acc.popToolsAndMerge(DeviceMemoryResourceToolCfg(flags)))
131
kwargs.setdefault(
"InputTracccCells"
,
"TracccCells"
)
132
kwargs.setdefault(
"OutputTracccMeasurements"
,
"TracccMeasurements"
)
133
kwargs.setdefault(
"OutputTracccClusters"
,
"TracccClusterCollection"
)
134
kwargs.setdefault(
"RetrieveClusterCells"
,
False
)
135
kwargs.setdefault(
"ClusteringAlgProviderTool"
, acc.popToolsAndMerge(
DeviceClusterizationProviderToolCfg
(flags)))
136
kwargs.setdefault(
"DeviceDigitizationObjectName"
,
"TracccDeviceDigitizationConfig"
)
137
kwargs.setdefault(
"DeviceConditionsObjectName"
,
"TracccDeviceCondConfig"
)
138
139
acc.addEventAlgo(
140
CompFactory.ActsTrk.DeviceClusterizationAlg(name, **kwargs))
141
return
acc
142
143
144
def
DeviceSPFormationAlgCfg
(flags,
145
name="DeviceSPFormationAlg",
146
previousExtension: str =
None
,
147
**kwargs) -> ComponentAccumulator:
148
149
assert
previousExtension
is
None
or
isinstance(previousExtension, str)
150
acc = ComponentAccumulator()
151
152
kwargs.setdefault(
"DeviceMR"
, acc.popToolsAndMerge(DeviceMemoryResourceToolCfg(flags)))
153
kwargs.setdefault(
"InputTracccMeasurements"
,
"TracccMeas"
)
154
kwargs.setdefault(
"OutputTracccPixelSpacepoints"
,
"TracccPixelSpacepoints"
)
155
kwargs.setdefault(
"SPFormationAlgProviderTool"
, acc.popToolsAndMerge(
DeviceSPFormationProviderToolCfg
(flags)))
156
kwargs.setdefault(
"DeviceDetectorName"
,
"TracccDeviceDetectorGeometry"
)
157
158
acc.addEventAlgo(
159
CompFactory.ActsTrk.DeviceSPFormationAlg(name, **kwargs))
160
return
acc
ActsGPUDataPreparationConfig.HIPClusterizerToolCfg
ComponentAccumulator HIPClusterizerToolCfg(flags, name="HIPClusterizerTool", **kwargs)
Definition
ActsGPUDataPreparationConfig.py:47
ActsGPUDataPreparationConfig.DeviceClusterizationAlgCfg
ComponentAccumulator DeviceClusterizationAlgCfg(flags, name="DeviceClusterizationAlg", str previousExtension=None, **kwargs)
Definition
ActsGPUDataPreparationConfig.py:125
ActsGPUDataPreparationConfig.DeviceClusterizationProviderToolCfg
ComponentAccumulator DeviceClusterizationProviderToolCfg(flags, **kwargs)
Definition
ActsGPUDataPreparationConfig.py:83
ActsGPUDataPreparationConfig.DeviceSPFormationAlgCfg
ComponentAccumulator DeviceSPFormationAlgCfg(flags, name="DeviceSPFormationAlg", str previousExtension=None, **kwargs)
Definition
ActsGPUDataPreparationConfig.py:147
ActsGPUDataPreparationConfig.CUDASPFormationToolCfg
ComponentAccumulator CUDASPFormationToolCfg(flags, name="CUDASPFormationTool", **kwargs)
Definition
ActsGPUDataPreparationConfig.py:31
ActsGPUDataPreparationConfig.DeviceSPFormationProviderToolCfg
ComponentAccumulator DeviceSPFormationProviderToolCfg(flags, **kwargs)
Definition
ActsGPUDataPreparationConfig.py:101
ActsGPUDataPreparationConfig.CUDAClusterizerToolCfg
ComponentAccumulator CUDAClusterizerToolCfg(flags, name="CUDAClusterizerTool", **kwargs)
Definition
ActsGPUDataPreparationConfig.py:15
ActsGPUDataPreparationConfig.HIPSPFormationToolCfg
ComponentAccumulator HIPSPFormationToolCfg(flags, name="HIPSPFormationTool", **kwargs)
Definition
ActsGPUDataPreparationConfig.py:66
Generated on
for ATLAS Offline Software by
1.17.0