| The Gaudi Framework v30r0 (c919700c)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

BrunelScenarioAvalancheScheduler.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, AlgResourcePool
5
6 # convenience machinery for assembling custom graphs of algorithm precedence rules (w/ CPUCrunchers as algorithms)
7 try:
8 from GaudiHive import precedence
9 except ImportError:
10 # of versions of LCG/heptools do not provide the required package networkx
11 import sys
12 sys.exit(77) # consider the test skipped
13
14 # metaconfig
15 evtslots = 1
16 evtMax = 1
17 cardinality = 1
18 algosInFlight = 4
19 algoAvgTime = 0.02
20
21
22 InertMessageSvc(OutputLevel=INFO)
23
24 whiteboard = HiveWhiteBoard("EventDataSvc",
25 EventSlots=evtslots,
26 OutputLevel=INFO,
27 ForceLeaves=True)
28
29 slimeventloopmgr = HiveSlimEventLoopMgr(
30 SchedulerName="AvalancheSchedulerSvc", OutputLevel=INFO)
31
32 scheduler = AvalancheSchedulerSvc(ThreadPoolSize=algosInFlight,
33 OutputLevel=DEBUG,
34 Optimizer="DRE",
35 PreemptiveIOBoundTasks=False,
36 DumpIntraEventDynamics=False)
37
38 AlgResourcePool(OutputLevel=DEBUG)
39
40 timeValue = precedence.UniformTimeValue(algoAvgTime)
41 ifIObound = precedence.UniformBooleanValue(False)
42 #ifIObound = precedence.RndBiased10BooleanValue()
43
44
45 sequencer = precedence.CruncherSequence(timeValue, ifIObound, sleepFraction=0.0,
46 cfgPath="lhcb/reco/cf_dependencies.graphml",
47 dfgPath="lhcb/reco/data_dependencies.graphml",
48 topSequencer='GaudiSequencer/BrunelSequencer').get()
49
50 ApplicationMgr(EvtMax=evtMax,
51 EvtSel='NONE',
52 ExtSvc=[whiteboard],
53 EventLoop=slimeventloopmgr,
54 TopAlg=[sequencer],
55 MessageSvcType="InertMessageSvc",
56 OutputLevel=INFO)
InertMessageSvc
Thread safe extension to the standard MessageSvc.
Definition: InertMessageSvc.h:26
Gaudi.Configuration
Definition: Configuration.py:1
ApplicationMgr
The Application Manager class.
Definition: ApplicationMgr.h:47
GaudiPython.Persistency.get
def get(type_)
Definition: Persistency.py:29