The Gaudi Framework  v36r1 (3e2fb5a8)
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, 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  PreemptiveBlockingTasks=True,
36  MaxBlockingAlgosInFlight=50,
37  DumpIntraEventDynamics=True)
38 
39 CPUCrunchSvc(shortCalib=True)
40 
41 #timeValue = precedence.UniformTimeValue(avgRuntime=0.1)
42 timeValue = precedence.RealTimeValue(
43  path="atlas/mcreco/averageTiming.mcreco.TriggerOff.json", defaultTime=0.0)
44 #ifBlocking = precedence.UniformBooleanValue(False)
45 ifBlocking = precedence.RndBiasedBooleanValue(
46  pattern={
47  True: 17,
48  False: 152
49  }, seed=1)
50 
51 sequencer = precedence.CruncherSequence(
52  timeValue,
53  ifBlocking,
54  sleepFraction=0.9,
55  cfgPath="atlas/mcreco/cf.mcreco.TriggerOff.graphml",
56  dfgPath="atlas/mcreco/df.mcreco.TriggerOff.3rdEvent.graphml",
57  topSequencer='AthSequencer/AthMasterSeq').get()
58 
60  EvtMax=evtMax,
61  EvtSel='NONE',
62  ExtSvc=[whiteboard],
63  EventLoop=slimeventloopmgr,
64  TopAlg=[sequencer],
65  MessageSvcType="InertMessageSvc",
66  OutputLevel=INFO)
InertMessageSvc
Definition: InertMessageSvc.h:36
Gaudi::Functional::details::get
auto get(const Handle &handle, const Algo &, const EventContext &) -> decltype(details::deref(handle.get()))
Definition: FunctionalDetails.h:391
Gaudi.Configuration
Definition: Configuration.py:1
ApplicationMgr
Definition: ApplicationMgr.h:57