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,
34 from AthenaCommon.ConcurrencyFlags
import jobproperties
35 if jobproperties.ConcurrencyFlags.NumThreads() != 0:
36 from AthenaCommon.AlgScheduler
import AlgScheduler
37 AlgScheduler.SchedulerSvc.PreemptiveBlockingTasks =
True
38 AlgScheduler.SchedulerSvc.MaxBlockingAlgosInFlight = CUDAKernelsInFlight
42 if not hasattr( ServiceMgr, theApp.EventLoop ):
43 ServiceMgr += getattr( CfgMgr, theApp.EventLoop )()
45 evtLoop = getattr( ServiceMgr, theApp.EventLoop )
46 evtLoop.EventPrintoutInterval = 1000