The Gaudi Framework  v30r3 (a5ef0a68)
BugCFHEP114.py
Go to the documentation of this file.
1 #!/usr/bin/env gaudirun.py
2 
3 '''
4 Options file to test fix for https://sft.its.cern.ch/jira/browse/CFHEP-114
5 a problem which is ther when declaring dependencies explicitely in the scheduler
6 and having more dependencies than algorithms.
7 '''
8 
9 from Gaudi.Configuration import *
10 from Configurables import HiveWhiteBoard, HiveSlimEventLoopMgr, AvalancheSchedulerSvc, CPUCruncher, AlgResourcePool
11 
12 InertMessageSvc(OutputLevel=INFO)
13 
14 # metaconfig
15 evtslots = 13
16 evtMax = 50
17 cardinality = 10
18 algosInFlight = 10
19 
20 whiteboard = HiveWhiteBoard("EventDataSvc",
21  EventSlots=evtslots)
22 
23 slimeventloopmgr = HiveSlimEventLoopMgr(OutputLevel=INFO)
24 
25 scheduler = AvalancheSchedulerSvc(ThreadPoolSize=algosInFlight,
26  OutputLevel=WARNING)
27 
28 AlgResourcePool(OutputLevel=DEBUG)
29 
30 a1 = CPUCruncher("A1",
31  shortCalib=True,
32  varRuntime=.01,
33  avgRuntime=.1)
34 a1.outKeys = ['/Event/a1']
35 
36 a2 = CPUCruncher("A2",
37  shortCalib=True)
38 a2.outKeys = ['/Event/a2']
39 
40 a3 = CPUCruncher("A3",
41  shortCalib=True)
42 a3.outKeys = ['/Event/a3', '/Event/a4']
43 
44 a4 = CPUCruncher("A4",
45  shortCalib=True)
46 a4.outKeys = ['/Event/a5']
47 
48 for algo in [a1, a2, a3, a4]:
49  algo.Cardinality = cardinality
50  algo.OutputLevel = WARNING
51 
52 ApplicationMgr(EvtMax=evtMax,
53  EvtSel='NONE',
54  ExtSvc=[whiteboard],
55  EventLoop=slimeventloopmgr,
56  TopAlg=[a1, a2, a3, a4],
57  MessageSvcType="InertMessageSvc")
Thread safe extension to the standard MessageSvc.
The Application Manager class.