ATLAS Offline Software
F150_i_TestConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 if __name__ == "__main__":
4  from argparse import ArgumentParser
5  argumentParser = ArgumentParser()
6  argumentParser.add_argument(
7  "--xclbinPath",
8  default = "/eos/project/a/atlas-eftracking/FPGA_compilation/FPGA_compilation_hw/22_pathfinder_HLS/Pathfinder_hw.xclbin",
9  )
10 
11  argumentParser.add_argument(
12  "--inputPath",
13  default = "/eos/project-a/atlas-eftracking/TestVectors/FPGATrackSim_TVs/Test_Vectors_v0-6-3c/F150_Region34_SingleMuon/stripL2G_output.txt",
14  )
15 
16  argumentParser.add_argument(
17  "--slicingEngineOutputPath",
18  default = "slicing_engine_output.txt",
19  )
20 
21  argumentParser.add_argument(
22  "--insideOutOutputPath",
23  default = "inside_out_output.txt",
24  )
25 
26  argumentParser.add_argument(
27  "--bufferSize",
28  type = int,
29  default = 8192,
30  )
31 
32  argumentParser.add_argument(
33  "--events",
34  type = int,
35  default = 2,
36  )
37 
38  argumentParser.add_argument(
39  "--verbose",
40  action = "store_true",
41  )
42 
43  arguments = argumentParser.parse_args()
44 
45  from AthenaConfiguration.AllConfigFlags import initConfigFlags
46  flags = initConfigFlags()
47 
48  if arguments.verbose:
49  from AthenaCommon.Constants import DEBUG
50  flags.Exec.OutputLevel = DEBUG
51 
52  flags.lock()
53 
54  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
55  acc = MainServicesCfg(flags)
56 
57  from AthenaConfiguration.ComponentFactory import CompFactory
58  acc.addService(CompFactory.ChronoStatSvc(
59  PrintUserTime = True,
60  PrintSystemTime = True,
61  PrintEllapsedTime = True,
62  ))
63 
64  acc.addService(CompFactory.AthXRT.DeviceMgmtSvc(XclbinPathsList = [arguments.xclbinPath]))
65 
66  from EFTrackingFPGAUtility.EFTrackingDataStreamLoaderAlgorithmConfig import EFTrackingDataStreamLoaderAlgorithmCfg
68  flags,
69  name = "dataStreamLoader",
70  bufferSize = arguments.bufferSize,
71  inputCsvPath = arguments.inputPath,
72  inputDataStream = "inputDataStream",
73  ))
74 
75  from EFTrackingFPGAPipeline.EFTrackingXrtAlgorithmConfig import EFTrackingXrtAlgorithmCfg
76  acc.merge(EFTrackingXrtAlgorithmCfg(
77  flags,
78  bufferSize = arguments.bufferSize,
79  inputInterfaces = [
80  ["configurableLengthWideLoader:{configurableLengthWideLoader_1}", "inputDataStream", 0],
81  ],
82  outputInterfaces = [
83  ["dynamicLengthWideUnloader:{dynamicLengthWideUnloader_1}", "slicingEngineOutputDataStream", 1],
84  ["mem_write", "insideOutOutputDataStream", 0]
85  ],
86  vSizeInterfaces = [
87  ["configurableLengthWideLoader:{configurableLengthWideLoader_1}", "inputDataStream", 2],
88  ],
89  sharedInterfaces = [
90  ["mem_read", 0, "dynamicLengthWideUnloader:{dynamicLengthWideUnloader_1}", 1],
91  ],
92  kernelOrder = [
93  [
94  "configurableLengthWideLoader:{configurableLengthWideLoader_1}",
95  "dynamicLengthWideUnloader:{dynamicLengthWideUnloader_1}",
96  ],
97  [
98  "mem_read",
99  "mem_write",
100  ],
101  ],
102  ))
103 
104  from EFTrackingFPGAUtility.EFTrackingDataStreamUnloaderAlgorithmConfig import EFTrackingDataStreamUnloaderAlgorithmCfg
106  flags,
107  name = "slicingEngineDataStreamUnloaderAlgorithm",
108  outputCsvPath = arguments.slicingEngineOutputPath,
109  outputDataStream = "slicingEngineOutputDataStream",
110  ))
111 
113  flags,
114  name = "insideOutDataStreamUnloaderAlgorithm",
115  outputCsvPath = arguments.insideOutOutputPath,
116  outputDataStream = "insideOutOutputDataStream",
117  ))
118 
119  acc.run(arguments.events)
120 
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:310
Constants
some useful constants -------------------------------------------------—
EFTrackingDataStreamUnloaderAlgorithmConfig.EFTrackingDataStreamUnloaderAlgorithmCfg
def EFTrackingDataStreamUnloaderAlgorithmCfg(flags, **kwargs)
Definition: EFTrackingDataStreamUnloaderAlgorithmConfig.py:4
EFTrackingXrtAlgorithmConfig.EFTrackingXrtAlgorithmCfg
def EFTrackingXrtAlgorithmCfg(flags, **kwargs)
Definition: EFTrackingXrtAlgorithmConfig.py:3
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
EFTrackingDataStreamLoaderAlgorithmConfig.EFTrackingDataStreamLoaderAlgorithmCfg
def EFTrackingDataStreamLoaderAlgorithmCfg(flags, **kwargs)
Definition: EFTrackingDataStreamLoaderAlgorithmConfig.py:4