ATLAS Offline Software
Loading...
Searching...
No Matches
python.AtlasThreadedJob Namespace Reference

Functions

 _setupAtlasThreadedJob ()

Function Documentation

◆ _setupAtlasThreadedJob()

python.AtlasThreadedJob._setupAtlasThreadedJob ( )
protected

Definition at line 8 of file AtlasThreadedJob.py.

8def _setupAtlasThreadedJob():
9 from AthenaCommon.AppMgr import theApp
10 from AthenaCommon.AppMgr import ServiceMgr as svcMgr
11 from AthenaCommon import Constants
12
13 from AthenaCommon.ConcurrencyFlags import jobproperties as jps
14
15 if (jps.ConcurrencyFlags.NumProcs() == 0) :
16 theApp.MessageSvcType = "InertMessageSvc"
17 else:
18 # InertMessageSvc doesn't play nice with MP
19 theApp.MessageSvcType = "MessageSvc"
20
21 svcMgr.MessageSvc.Format = "% F%50W%C%6W%R%e%s%8W%R%T %0W%M"
22
23 numStores = jps.ConcurrencyFlags.NumConcurrentEvents()
24
25 from StoreGate.StoreGateConf import SG__HiveMgrSvc
26 svcMgr += SG__HiveMgrSvc("EventDataSvc")
27 svcMgr.EventDataSvc.NSlots = numStores
28
29
30 from GaudiHive.GaudiHiveConf import AlgResourcePool
31 arp=AlgResourcePool( OutputLevel = Constants.INFO )
32 arp.TopAlg=["AthMasterSeq"] #this should enable control flow
33 svcMgr += arp
34
35 from AthenaCommon.AlgScheduler import AlgScheduler
36 AlgScheduler.ShowDataDependencies(False)
37 AlgScheduler.ShowControlFlow(False)
38
39 from AthenaCommon.AlgSequence import AlgSequence
40 topSequence = AlgSequence()
41 from SGComps.SGCompsConf import SGInputLoader
42 # FailIfNoProxy=False makes it a warning, not an error, if unmet data
43 # dependencies are not found in the store. It should probably be changed
44 # to True eventually.
45 topSequence += SGInputLoader (FailIfNoProxy = False)
46 AlgScheduler.setDataLoaderAlg ('SGInputLoader' )
47
48 if (theApp._opts.mtes or jps.ConcurrencyFlags.NumProcs()>0):
49 # Either multi-threaded Event Service or hybrid MP+MT
50 from AthenaServices.AthenaServicesConf import AthenaMtesEventLoopMgr
51
52 svcMgr += AthenaMtesEventLoopMgr()
53 svcMgr.AthenaMtesEventLoopMgr.WhiteboardSvc = "EventDataSvc"
54 svcMgr.AthenaMtesEventLoopMgr.SchedulerSvc = AlgScheduler.getScheduler().getName()
55
56 if theApp._opts.mtes:
57 svcMgr.AthenaMtesEventLoopMgr.EventRangeChannel = theApp._opts.mtes_channel
58 theApp.EventLoop = "AthenaMtesEventLoopMgr"
59 else:
60 from AthenaServices.AthenaServicesConf import AthenaHiveEventLoopMgr
61
62 svcMgr += AthenaHiveEventLoopMgr()
63 svcMgr.AthenaHiveEventLoopMgr.WhiteboardSvc = "EventDataSvc"
64 svcMgr.AthenaHiveEventLoopMgr.SchedulerSvc = AlgScheduler.getScheduler().getName()
65
66 theApp.EventLoop = "AthenaHiveEventLoopMgr"
67
68 #
69
71
72 theAuditorSvc = svcMgr.AuditorSvc
73 theApp.AuditAlgorithms=True
74 from SGComps.SGCompsConf import SGCommitAuditor
75 theAuditorSvc += SGCommitAuditor()
76
77
The default ATLAS batch event loop manager.