4 from Configurables
import GaudiExamplesCommonConf, CPUCruncher,HiveEventLoopMgr
12 NUMBEROFEVENTSINFLIGHT = 1
13 NUMBEROFALGOSINFLIGHT = 1000
20 NumberOfEvents = NUMBEROFEVENTS
21 NumberOfEventsInFlight = NUMBEROFEVENTSINFLIGHT
22 NumberOfAlgosInFlight = NUMBEROFALGOSINFLIGHT
23 NumberOfThreads = NUMBEROFTHREADS
24 CloneAlgos = CLONEALGOS
25 DumpQueues = DUMPQUEUES
30 data = open(filename).read()
32 cpu_cruncher_algos = []
33 cpu_cruncher_algos_inputs = []
36 for algo
in workflow[
"process"][
"producers"]:
38 inputs = [ item[
"label"].replace(
"/",
"_")
for item
in algo[
"toGet"] ]
39 outputs = [algo[
"@label"].replace(
"/",
"_"),]
41 avgRuntime=float(algo[
"eventTimes"][0]),
46 cpu_cruncher_algos.append(new_algo)
47 all_outputs.update(outputs)
48 all_inputs.update(inputs)
49 cpu_cruncher_algos_inputs.append(inputs)
55 DataOutputs=[item
for item
in all_inputs.difference(all_outputs)]
57 cpu_cruncher_algos.append(new_algo)
58 cpu_cruncher_algos_inputs.append([])
60 print [item
for item
in all_inputs.difference(all_outputs)]
61 return cpu_cruncher_algos,cpu_cruncher_algos_inputs
65 ms.OutputLevel = Verbosity
70 evtloop = HiveEventLoopMgr()
71 evtloop.MaxAlgosParallel = NumberOfAlgosInFlight
72 evtloop.MaxEventsParallel = NumberOfEventsInFlight
73 evtloop.NumThreads = NumberOfThreads
74 evtloop.CloneAlgorithms = CloneAlgos
75 evtloop.DumpQueues = DumpQueues
76 evtloop.AlgosDependencies = inputs
80 app.TopAlg = crunchers
82 app.EvtMax = NumberOfEvents
83 app.EventLoop = evtloop
def load_CMSSW_scenario(filename)
The Application Manager class.