11from AthenaConfiguration.AllConfigFlags
import initConfigFlags
12from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
13from AthenaConfiguration.ComponentFactory
import CompFactory
14from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
15from AthenaConfiguration.TestDefaults
import defaultTestFiles
19from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
22from AthDeviceComps.AthDeviceCompsConfig
import HostCopyToolCfg
23from AthCUDAServices.AthCUDAServicesConfig
import \
24 MemoryResourcesToolCfg, StreamToolCfg
25from AthCUDAServices.AthCUDAServicesConfig
import AsyncCopyToolCfg
as DeviceCopyToolCfg
31 '''Configure the example algorithm for running on a CUDA device.
34 result = ComponentAccumulator()
36 alg = CompFactory.AthCUDAExamples.TrackParticleCalibratorExampleAlg(**kwargs)
37 memoryResources = MemoryResourcesToolCfg(flags, **kwargs)
38 alg.MemoryResourcesTool = memoryResources.getPrimary()
39 result.merge(memoryResources)
40 hostCopyTool = HostCopyToolCfg(flags, **kwargs)
41 alg.HostCopyTool = hostCopyTool.getPrimary()
42 result.merge(hostCopyTool)
43 deviceCopyTool = DeviceCopyToolCfg(flags, **kwargs)
44 alg.DeviceCopyTool = deviceCopyTool.getPrimary()
45 result.merge(deviceCopyTool)
46 streamTool = StreamToolCfg(flags, **kwargs)
47 alg.StreamTool = streamTool.getPrimary()
48 result.merge(streamTool)
52 result.addEventAlgo(alg)
56if __name__ ==
'__main__':
59 flags = initConfigFlags()
60 flags.Exec.MaxEvents = 100
61 flags.Input.Files = defaultTestFiles.AOD_RUN3_DATA
66 acc = MainServicesCfg(flags)
69 acc.merge(PoolReadCfg(flags))
75 sys.exit(acc.run().isFailure())
TrackParticleCalibratorExampleAlgCfg(flags, **kwargs)