ATLAS Offline Software
Loading...
Searching...
No Matches
ActsGPUDataPreparationConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5
6from AthDeviceComps.AthDeviceCompsConfig import MemoryResourcesToolCfg, CopyToolCfg, DeviceMemoryResourceToolCfg
7from AthDeviceComps.DeviceConfigFlags import DeviceBackend
8
9# ============================================================
10# Tool configurations
11# ============================================================
12
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
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
45 name="DeviceClusterizationProviderTool",
46 **kwargs) -> ComponentAccumulator:
47 acc = ComponentAccumulator()
48
49 if flags.Device.Backend is not DeviceBackend.CUDA:
50 raise ValueError(f"Unsupported device backend: {flags.Acts.DeviceBackend}")
51
52 else:
53 acc.setPrivateTools(acc.popToolsAndMerge(CUDAClusterizerToolCfg(flags)))
54 return acc
55
57 name="DeviceSPFormationProviderTool",
58 **kwargs) -> ComponentAccumulator:
59 acc = ComponentAccumulator()
60
61 if flags.Device.Backend is not DeviceBackend.CUDA:
62 raise ValueError(f"Unsupported device backend: {flags.Acts.DeviceBackend}")
63
64 else:
65 acc.setPrivateTools(acc.popToolsAndMerge(CUDASPFormationToolCfg(flags)))
66 return acc
67
68
69# ============================================================
70# Algorithm configurations
71# ============================================================
72
74 name="DeviceClusterizationAlg",
75 previousExtension: str = None,
76 **kwargs) -> ComponentAccumulator:
77
78 assert previousExtension is None or isinstance(previousExtension, str)
79 acc = ComponentAccumulator()
80
81 kwargs.setdefault("DeviceMR", acc.popToolsAndMerge(DeviceMemoryResourceToolCfg(flags)))
82 kwargs.setdefault("InputTracccCells", "TracccCells")
83 kwargs.setdefault("OutputTracccMeasurements", "TracccMeasurements")
84 kwargs.setdefault("OutputTracccClusters", "TracccClusterCollection")
85 kwargs.setdefault("RetrieveClusterCells", False)
86 kwargs.setdefault("ClusteringAlgProviderTool", acc.popToolsAndMerge(DeviceClusterizationProviderToolCfg(flags)))
87 kwargs.setdefault("DeviceDigitizationObjectName", "TracccDeviceDigitizationConfig")
88 kwargs.setdefault("DeviceConditionsObjectName", "TracccDeviceCondConfig")
89
90 acc.addEventAlgo(
91 CompFactory.ActsTrk.DeviceClusterizationAlg(name, **kwargs))
92 return acc
93
94
96 name="DeviceSPFormationAlg",
97 previousExtension: str = None,
98 **kwargs) -> ComponentAccumulator:
99
100 assert previousExtension is None or isinstance(previousExtension, str)
101 acc = ComponentAccumulator()
102
103 kwargs.setdefault("DeviceMR", acc.popToolsAndMerge(DeviceMemoryResourceToolCfg(flags)))
104 kwargs.setdefault("InputTracccMeasurements", "TracccMeas")
105 kwargs.setdefault("OutputTracccPixelSpacepoints", "TracccPixelSpacepoints")
106 kwargs.setdefault("SPFormationAlgProviderTool", acc.popToolsAndMerge(DeviceSPFormationProviderToolCfg(flags)))
107 kwargs.setdefault("DeviceDetectorName", "TracccDeviceDetectorGeometry")
108
109 acc.addEventAlgo(
110 CompFactory.ActsTrk.DeviceSPFormationAlg(name, **kwargs))
111 return acc
ComponentAccumulator DeviceClusterizationAlgCfg(flags, name="DeviceClusterizationAlg", str previousExtension=None, **kwargs)
ComponentAccumulator CUDASPFormationToolCfg(flags, name="CUDASPFormationTool", **kwargs)
ComponentAccumulator DeviceSPFormationAlgCfg(flags, name="DeviceSPFormationAlg", str previousExtension=None, **kwargs)
ComponentAccumulator DeviceSPFormationProviderToolCfg(flags, name="DeviceSPFormationProviderTool", **kwargs)
ComponentAccumulator CUDAClusterizerToolCfg(flags, name="CUDAClusterizerTool", **kwargs)
ComponentAccumulator DeviceClusterizationProviderToolCfg(flags, name="DeviceClusterizationProviderTool", **kwargs)