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