The Gaudi Framework  v33r1 (b1225454)
OffloadAtlasMCRecoScenario.py
Go to the documentation of this file.
1 #!/usr/bin/env gaudirun.py
2 
12 
13 from Gaudi.Configuration import *
14 from Configurables import HiveWhiteBoard, HiveSlimEventLoopMgr, AvalancheSchedulerSvc, IOBoundAlgSchedulerSvc, CPUCrunchSvc
15 
16 # convenience machinery for assembling custom graphs of algorithm precedence rules (w/ CPUCrunchers as algorithms)
17 from GaudiHive import precedence
18 
19 # metaconfig
20 evtslots = 1
21 evtMax = 10
22 algosInFlight = 4
23 
24 InertMessageSvc(OutputLevel=INFO)
25 
26 whiteboard = HiveWhiteBoard(
27  "EventDataSvc", EventSlots=evtslots, OutputLevel=INFO)
28 
29 slimeventloopmgr = HiveSlimEventLoopMgr(
30  SchedulerName="AvalancheSchedulerSvc", OutputLevel=INFO)
31 
32 scheduler = AvalancheSchedulerSvc(
33  ThreadPoolSize=algosInFlight,
34  OutputLevel=INFO,
35  PreemptiveIOBoundTasks=True,
36  MaxIOBoundAlgosInFlight=50,
37  DumpIntraEventDynamics=True)
38 
39 IOBoundAlgSchedulerSvc(OutputLevel=INFO)
40 
41 CPUCrunchSvc(shortCalib=True)
42 
43 #timeValue = precedence.UniformTimeValue(avgRuntime=0.1)
44 timeValue = precedence.RealTimeValue(
45  path="atlas/mcreco/averageTiming.mcreco.TriggerOff.json", defaultTime=0.0)
46 #ifIObound = precedence.UniformBooleanValue(False)
47 ifIObound = precedence.RndBiasedBooleanValue(
48  pattern={
49  True: 17,
50  False: 152
51  }, seed=1)
52 
53 sequencer = precedence.CruncherSequence(
54  timeValue,
55  ifIObound,
56  sleepFraction=0.9,
57  cfgPath="atlas/mcreco/cf.mcreco.TriggerOff.graphml",
58  dfgPath="atlas/mcreco/df.mcreco.TriggerOff.3rdEvent.graphml",
59  topSequencer='AthSequencer/AthMasterSeq').get()
60 
62  EvtMax=evtMax,
63  EvtSel='NONE',
64  ExtSvc=[whiteboard],
65  EventLoop=slimeventloopmgr,
66  TopAlg=[sequencer],
67  MessageSvcType="InertMessageSvc",
68  OutputLevel=INFO)
Thread safe extension to the standard MessageSvc.
auto get(const Handle &handle, const Algo &, const EventContext &) -> decltype(details::deref(handle.get()))
The Application Manager class.