13 The options file models an intra-event stall in algorithm scheduling.
14 An early exit from a group of algorithms called 'EarlyExitBranch' is performed due to
15 an inverted CF decision sot that A2 is not run. This results in an unmet DF dependency
16 for a downstream algorithm A3, leading to the stall.
19 from Configurables
import (
21 AvalancheSchedulerSvc,
34 whiteboard = HiveWhiteBoard(
"EventDataSvc", EventSlots=evtslots)
36 slimeventloopmgr = HiveSlimEventLoopMgr(
37 SchedulerName=
"AvalancheSchedulerSvc", OutputLevel=DEBUG
40 scheduler = AvalancheSchedulerSvc(ThreadPoolSize=threads, OutputLevel=VERBOSE)
42 AlgResourcePool(OutputLevel=DEBUG)
44 CPUCrunchSvc(shortCalib=
True)
48 a1 = CPUCruncher(
"A1")
51 a1.InvertDecision =
True
54 a2 = CPUCruncher(
"A2")
55 a2.outKeys = [
"/Event/a2"]
57 a3 = CPUCruncher(
"A3")
58 a3.inpKeys = [
"/Event/a2"]
61 branch = Gaudi__Sequencer(
62 "EarlyExitBranch", ModeOR=
False, ShortCircuit=
True, Sequential=
True
64 branch.Members = [a1, a2]
66 for algo
in [a1, a2, a3]:
67 algo.Cardinality = cardinality
76 EventLoop=slimeventloopmgr,
78 MessageSvcType=
"InertMessageSvc",