8 CUDAKernelsInFlight = 5
11 from AthenaCommon.AppMgr
import ServiceMgr
12 ServiceMgr += CfgMgr.AthCUDA__StreamPoolSvc(
"CUDAStreamPoolSvc",
13 NStreams = CUDAKernelsInFlight )
14 ServiceMgr += CfgMgr.AthCUDA__KernelRunnerSvc(
"CUDAKernelRunnerSvc",
15 StreamPoolSvc = ServiceMgr.CUDAStreamPoolSvc,
16 NParallelKernels = CUDAKernelsInFlight )
19 from AthenaCommon.AlgSequence
import AlgSequence
23 from AthExCUDA.AthExCUDAConf
import \
24 AthCUDAExamples__LinearTransformTaskExampleAlg
25 algSequence += AthCUDAExamples__LinearTransformTaskExampleAlg(
26 KernelRunnerSvc = ServiceMgr.CUDAKernelRunnerSvc )
33 from AthenaCommon.ConcurrencyFlags
import jobproperties
34 if jobproperties.ConcurrencyFlags.NumThreads() != 0:
35 from AthenaCommon.AlgScheduler
import AlgScheduler
36 AlgScheduler.SchedulerSvc.PreemptiveBlockingTasks =
True
37 AlgScheduler.SchedulerSvc.MaxBlockingAlgosInFlight = CUDAKernelsInFlight
41 if not hasattr( ServiceMgr, theApp.EventLoop ):
42 ServiceMgr += getattr( CfgMgr, theApp.EventLoop )()
44 evtLoop = getattr( ServiceMgr, theApp.EventLoop )
45 evtLoop.EventPrintoutInterval = 1000