ATLAS Offline Software
Loading...
Searching...
No Matches
ActsGPUPatternRecognitionConfig.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="CUDASPFormationTool",
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
24 acc.setPrivateTools(
25 CompFactory.ActsTrk.CUDASeedingAlgProviderTool(name, **kwargs))
26 return acc
27
29 name="DeviceSeedingProviderTool",
30 **kwargs) -> ComponentAccumulator:
31 acc = ComponentAccumulator()
32
33 if flags.Device.Backend is not DeviceBackend.CUDA:
34 raise ValueError(f"Unsupported device backend: {flags.Acts.DeviceBackend}")
35
36 else:
37 acc.setPrivateTools(acc.popToolsAndMerge(CUDASeedingToolCfg(flags)))
38 return acc
39
40
41# ============================================================
42# Algorithm configurations
43# ============================================================
44
46 name="DeviceGBTSSeedingAlg",
47 previousExtension: str = None,
48 **kwargs) -> ComponentAccumulator:
49
50 assert previousExtension is None or isinstance(previousExtension, str)
51 acc = ComponentAccumulator()
52
53 kwargs.setdefault("DeviceMR", acc.popToolsAndMerge(DeviceMemoryResourceToolCfg(flags)))
54 kwargs.setdefault("InputTracccPixelSpacepoints", "TracccPixelSpacepoints")
55 kwargs.setdefault("InputTracccMeasurements", "TracccMeasurements")
56 kwargs.setdefault("OutputTracccPixelSeeds", "TracccPixelSeeds")
57
58 from TrigFastTrackFinder.TrigFastTrackFinderConfig import ITkTrigL2LayerNumberToolCfg
59 layerNumberArgs = {"UseNewLayerScheme" : True}
60 kwargs.setdefault("layerNumberTool", acc.popToolsAndMerge(ITkTrigL2LayerNumberToolCfg(flags, **layerNumberArgs)))
61
62 kwargs.setdefault("SeedingAlgProviderTool", acc.popToolsAndMerge(DeviceSeedingProviderToolCfg(flags)))
63
64 acc.addEventAlgo(
65 CompFactory.ActsTrk.DeviceGBTSSeedingAlg(name, **kwargs))
66 return acc
67
68
70 name="DeviceTripletSeedingAlg",
71 previousExtension: str = None,
72 **kwargs) -> ComponentAccumulator:
73
74 assert previousExtension is None or isinstance(previousExtension, str)
75 acc = ComponentAccumulator()
76
77 kwargs.setdefault("DeviceMR", acc.popToolsAndMerge(DeviceMemoryResourceToolCfg(flags)))
78 kwargs.setdefault("InputTracccPixelSpacepoints", "TracccPixelSpacepoints")
79 kwargs.setdefault("OutputTracccPixelSeeds", "TracccPixelSeeds")
80
81 kwargs.setdefault("SeedingAlgProviderTool", acc.popToolsAndMerge(DeviceSeedingProviderToolCfg(flags)))
82
83 acc.addEventAlgo(
84 CompFactory.ActsTrk.DeviceTripletSeedingAlg(name, **kwargs))
85 return acc
ComponentAccumulator DeviceGBTSSeedingAlgCfg(flags, name="DeviceGBTSSeedingAlg", str previousExtension=None, **kwargs)
ComponentAccumulator CUDASeedingToolCfg(flags, name="CUDASPFormationTool", **kwargs)
ComponentAccumulator DeviceSeedingProviderToolCfg(flags, name="DeviceSeedingProviderTool", **kwargs)
ComponentAccumulator DeviceTripletSeedingAlgCfg(flags, name="DeviceTripletSeedingAlg", str previousExtension=None, **kwargs)