Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
OffloadAtlasMCRecoScenario.py
Go to the documentation of this file.
1 #!/usr/bin/env gaudirun.py
2 
3 from Gaudi.Configuration import *
4 from Configurables import HiveWhiteBoard, HiveSlimEventLoopMgr, AvalancheSchedulerSvc, IOBoundAlgSchedulerSvc, CPUCrunchSvc
5 
6 # convenience machinery for assembling custom graphs of algorithm precedence rules (w/ CPUCrunchers as algorithms)
7 from GaudiHive import precedence
8 
9 # metaconfig
10 evtslots = 1
11 evtMax = 10
12 algosInFlight = 4
13 
14 InertMessageSvc(OutputLevel=INFO)
15 
16 whiteboard = HiveWhiteBoard(
17  "EventDataSvc", EventSlots=evtslots, OutputLevel=INFO)
18 
19 slimeventloopmgr = HiveSlimEventLoopMgr(
20  SchedulerName="AvalancheSchedulerSvc", OutputLevel=INFO)
21 
22 scheduler = AvalancheSchedulerSvc(
23  ThreadPoolSize=algosInFlight,
24  OutputLevel=INFO,
25  PreemptiveIOBoundTasks=True,
26  MaxIOBoundAlgosInFlight=50,
27  DumpIntraEventDynamics=True)
28 
29 IOBoundAlgSchedulerSvc(OutputLevel=INFO)
30 
31 CPUCrunchSvc(shortCalib=True)
32 
33 #timeValue = precedence.UniformTimeValue(avgRuntime=0.1)
34 timeValue = precedence.RealTimeValue(
35  path="atlas/mcreco/averageTiming.mcreco.TriggerOff.json", defaultTime=0.0)
36 #ifIObound = precedence.UniformBooleanValue(False)
37 ifIObound = precedence.RndBiasedBooleanValue(
38  pattern={
39  True: 17,
40  False: 152
41  }, seed=1)
42 
43 sequencer = precedence.CruncherSequence(
44  timeValue,
45  ifIObound,
46  sleepFraction=0.9,
47  cfgPath="atlas/mcreco/cf.mcreco.TriggerOff.graphml",
48  dfgPath="atlas/mcreco/df.mcreco.TriggerOff.3rdEvent.graphml",
49  topSequencer='AthSequencer/AthMasterSeq').get()
50 
52  EvtMax=evtMax,
53  EvtSel='NONE',
54  ExtSvc=[whiteboard],
55  EventLoop=slimeventloopmgr,
56  TopAlg=[sequencer],
57  MessageSvcType="InertMessageSvc",
58  OutputLevel=INFO)
Thread safe extension to the standard MessageSvc.
The Application Manager class.