| The Gaudi Framework v32r1 (f65d50dc)

OffloadAtlasMCRecoScenario.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, IOBoundAlgSchedulerSvc, CPUCrunchSvc
5
6 # convenience machinery for assembling custom graphs of algorithm precedence rules (w/ CPUCrunchers as algorithms)
7 from GaudiHive import precedence
8
9 # metaconfig
10 evtslots = 1
11 evtMax = 10
12 algosInFlight = 4
13
14 InertMessageSvc(OutputLevel=INFO)
15
16 whiteboard = HiveWhiteBoard(
17 "EventDataSvc", EventSlots=evtslots, OutputLevel=INFO)
18
19 slimeventloopmgr = HiveSlimEventLoopMgr(
20 SchedulerName="AvalancheSchedulerSvc", OutputLevel=INFO)
21
22 scheduler = AvalancheSchedulerSvc(
23 ThreadPoolSize=algosInFlight,
24 OutputLevel=INFO,
25 PreemptiveIOBoundTasks=True,
26 MaxIOBoundAlgosInFlight=50,
27 DumpIntraEventDynamics=True)
28
29 IOBoundAlgSchedulerSvc(OutputLevel=INFO)
30
31 CPUCrunchSvc(shortCalib=True)
32
33 #timeValue = precedence.UniformTimeValue(avgRuntime=0.1)
34 timeValue = precedence.RealTimeValue(
35 path="atlas/mcreco/averageTiming.mcreco.TriggerOff.json", defaultTime=0.0)
36 #ifIObound = precedence.UniformBooleanValue(False)
37 ifIObound = precedence.RndBiasedBooleanValue(
38 pattern={
39 True: 17,
40 False: 152
41 }, seed=1)
42
43 sequencer = precedence.CruncherSequence(
44 timeValue,
45 ifIObound,
46 sleepFraction=0.9,
47 cfgPath="atlas/mcreco/cf.mcreco.TriggerOff.graphml",
48 dfgPath="atlas/mcreco/df.mcreco.TriggerOff.3rdEvent.graphml",
49 topSequencer='AthSequencer/AthMasterSeq').get()
50
51 ApplicationMgr(
52 EvtMax=evtMax,
53 EvtSel='NONE',
54 ExtSvc=[whiteboard],
55 EventLoop=slimeventloopmgr,
56 TopAlg=[sequencer],
57 MessageSvcType="InertMessageSvc",
58 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:45
Gaudi::Functional::details::get
auto get(const Handle &handle, const Algo &, const EventContext &) -> decltype(details::deref(handle.get()))
Definition: FunctionalDetails.h:332