The Gaudi Framework  master (37c0b60a)
OffloadAtlasMCRecoScenario.py
Go to the documentation of this file.
1 #!/usr/bin/env gaudirun.py
2 
12 
13 from Configurables import (
14  AvalancheSchedulerSvc,
15  CPUCrunchSvc,
16  HiveSlimEventLoopMgr,
17  HiveWhiteBoard,
18 )
19 from Gaudi.Configuration import *
20 
21 # convenience machinery for assembling custom graphs of algorithm precedence rules (w/ CPUCrunchers as algorithms)
22 from GaudiHive import precedence
23 
24 # metaconfig
25 evtslots = 1
26 evtMax = 10
27 algosInFlight = 4
28 
29 InertMessageSvc(OutputLevel=INFO)
30 
31 whiteboard = HiveWhiteBoard("EventDataSvc", EventSlots=evtslots, OutputLevel=INFO)
32 
33 slimeventloopmgr = HiveSlimEventLoopMgr(
34  SchedulerName="AvalancheSchedulerSvc", OutputLevel=INFO
35 )
36 
37 scheduler = AvalancheSchedulerSvc(
38  ThreadPoolSize=algosInFlight,
39  OutputLevel=INFO,
40  PreemptiveBlockingTasks=True,
41  MaxBlockingAlgosInFlight=50,
42  DumpIntraEventDynamics=True,
43 )
44 
45 CPUCrunchSvc(shortCalib=True)
46 
47 # timeValue = precedence.UniformTimeValue(avgRuntime=0.1)
49  path="atlas/mcreco/averageTiming.mcreco.TriggerOff.json", defaultTime=0.0
50 )
51 # ifBlocking = precedence.UniformBooleanValue(False)
52 ifBlocking = precedence.RndBiasedBooleanValue(pattern={True: 17, False: 152}, seed=1)
53 
55  timeValue,
56  ifBlocking,
57  sleepFraction=0.9,
58  cfgPath="atlas/mcreco/cf.mcreco.TriggerOff.graphml",
59  dfgPath="atlas/mcreco/df.mcreco.TriggerOff.3rdEvent.graphml",
60  topSequencer="AthSequencer/AthMasterSeq",
61 ).get()
62 
64  EvtMax=evtMax,
65  EvtSel="NONE",
66  ExtSvc=[whiteboard],
67  EventLoop=slimeventloopmgr,
68  TopAlg=[sequencer],
69  MessageSvcType="InertMessageSvc",
70  OutputLevel=INFO,
71 )
GaudiPartProp.decorators.get
get
decorate the vector of properties
Definition: decorators.py:283
InertMessageSvc
Definition: InertMessageSvc.h:36
precedence.RealTimeValue
Definition: precedence.py:74
Gaudi.Configuration
Definition: Configuration.py:1
precedence.RndBiasedBooleanValue
Definition: precedence.py:121
precedence.CruncherSequence
Definition: precedence.py:166
ApplicationMgr
Definition: ApplicationMgr.h:57