 |
ATLAS Offline Software
|
#include <F150KernelTesterAlg.h>
|
virtual StatusCode | initialize () override final |
| Detect the OpenCL devices and prepare OpenCL context. More...
|
|
virtual StatusCode | execute (const EventContext &ctx) const override final |
| Should be overriden by derived classes to perform meaningful work. More...
|
|
virtual StatusCode | finalize () override final |
|
StatusCode | loadProgram (const std::string &xclbin) |
| Find the xclbin file and load it into the OpenCL program object. More...
|
|
StatusCode | precheck (const std::vector< Gaudi::Property< std::string >> &inputs) const |
| Check if the the desired Gaudi properties are set. More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
cl::Device | m_accelerator |
| Device object for the accelerator card. More...
|
|
cl::Context | m_context |
| Context object for the application. More...
|
|
cl::Program | m_program |
| Program object containing the kernel. More...
|
|
Gaudi::Property< std::string > | m_deviceBDF {this, "bdfID", "", "BDF ID of the accelerator card"} |
| BDF ID of the accelerator card. More...
|
|
Gaudi::Property< bool > | m_doEmulation {this, "doEmulation", false, "If software or hardware emulation is being used for debugging"} |
|
|
std::string | get_cu_name (const std::string &kernel_name, int cu) |
|
void | dumpHexData (size_t dataLen, uint64_t *data, const std::string &dataDescriptor) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
ServiceHandle< IChronoSvc > | m_chronoSvc |
| Service for timing the algorithm. More...
|
|
ToolHandle< xAODClusterMaker > | m_xaodClusterMaker |
| Tool for creating xAOD containers. More...
|
|
ToolHandle< TestVectorTool > | m_testVectorTool |
| Tool for preparing test vectors. More...
|
|
ToolHandle< FPGADataFormatTool > | m_FPGADataFormatTool |
| Tool for formatting FPGA data. More...
|
|
Gaudi::Property< std::string > | m_xclbin {this, "xclbin", "", "xclbin path and name"} |
| Path and name of the xclbin file. More...
|
|
Gaudi::Property< bool > | m_runSE {this, "RunSlicing", "", "Whether to run slicing engine or not"} |
| Whether to run SE or not. More...
|
|
Gaudi::Property< bool > | m_runIO {this, "RunInsideOut", "", "Whether to run inside out or not"} |
| Whether to run inside out or not. More...
|
|
Gaudi::Property< bool > | m_runIOOnSE {this, "RunInsideOutOnSlicingEngine", "", "Whether to run inside out on the output of the slicing engine"} |
| Whether to run inside out on the output of slicing engine. More...
|
|
SG::ReadHandleKey< FPGATrackSimHitCollection > | m_FPGAHitKey {this, "FPGATrackSimHitKey","FPGAHits", "FPGATrackSim hits key"} |
|
SG::ReadHandleKey< FPGATrackSimHitCollection > | m_FPGASlicedHitKey {this, "FPGATrackSimHitKey_1st", "FPGAHits_1st_reg34", "FPGATrackSim Hits 1st stage key"} |
|
SG::ReadHandleKey< FPGATrackSimTrackCollection > | m_FPGATrackKey {this, "FPGATrackSimTrack1stKey","FPGATracks_1st_reg34","FPGATrackSim Tracks 1st stage key"} |
|
ToolHandle< OutputConversionTool > | m_outputConversionTool {this, "OutputConversionTool", "OutputConversionTool", "tool for output conversion"} |
|
Gaudi::Property< std::string > | m_slicingEngineInputName {this, "SlicingEngineInputName", "", "Name of the slicing engine input kernel"} |
|
Gaudi::Property< std::string > | m_slicingEngineName {this, "SlicingEngineName", "", "Name of the slicing engine kernel"} |
|
Gaudi::Property< std::string > | m_slicingEngineOutputName {this, "SlicingEngineOutputName", "", "Name of the slicing engine output kernel"} |
|
Gaudi::Property< std::string > | m_insideOutInputName {this, "InsideOutInputName", "", "Name of the inside out input kernel"} |
|
Gaudi::Property< std::string > | m_insideOutOutputName {this, "InsideOutOutputName", "", "Name of the inside out output kernel"} |
|
std::atomic< cl_ulong > | m_kernelTime {0} |
| Time for kernel execution. More...
|
|
std::atomic< cl_ulong > | m_sum_kernelTime {0} |
| Sum for the average time of the kernel execution. More...
|
|
std::atomic< ulonglong > | m_num_Events {0} |
| Number of events for the average time of the kernel execution. More...
|
|
xrt::device | m_xrt_accelerator |
|
cl::Event | m_slicingEngineInputEndEvent |
|
cl::Event | m_slicingEngineOutputEndEvent |
|
cl::Event | m_insideOutEndEvent |
|
xrt::ip | m_slicingEngineIP |
|
cl::Kernel | m_slicingEngineInput |
|
cl::Kernel | m_slicingEngineOutput |
|
cl::Kernel | m_insideOutInput |
|
cl::Kernel | m_insideOutOutput |
|
cl::Buffer | m_slicingEngineInputBuffer |
|
cl::Buffer | m_slicingEngineOutputBuffer |
|
cl::Buffer | m_insideOutInputBuffer |
|
cl::Buffer | m_insideOutOutputBuffer |
|
cl::CommandQueue | m_queue |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 39 of file F150KernelTesterAlg.h.
◆ StoreGateSvc_t
◆ cardinality()
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ dumpHexData()
void EFTrackingFPGAIntegration::F150KernelTesterAlg::dumpHexData |
( |
size_t |
dataLen, |
|
|
uint64_t * |
data, |
|
|
const std::string & |
dataDescriptor |
|
) |
| const |
|
private |
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode EFTrackingFPGAIntegration::F150KernelTesterAlg::execute |
( |
const EventContext & |
ctx | ) |
const |
|
finaloverridevirtual |
Should be overriden by derived classes to perform meaningful work.
Reimplemented from IntegrationBase.
Definition at line 81 of file F150KernelTesterAlg.cxx.
85 cl_int
err = CL_SUCCESS;
87 int n_pixel_words = 4;
88 size_t pixel_size_bytes = n_pixel_words *
sizeof(
uint64_t);
122 dumpHexData(n_pixel_words, out_data,
"Real Slicing Engine Output");
157 dumpHexData(n_pixel_words, out_data,
"Real Inside Out Output");
161 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
◆ filterPassed()
◆ finalize()
StatusCode EFTrackingFPGAIntegration::F150KernelTesterAlg::finalize |
( |
| ) |
|
|
finaloverridevirtual |
◆ get_cu_name()
std::string EFTrackingFPGAIntegration::F150KernelTesterAlg::get_cu_name |
( |
const std::string & |
kernel_name, |
|
|
int |
cu |
|
) |
| |
|
private |
◆ initialize()
StatusCode EFTrackingFPGAIntegration::F150KernelTesterAlg::initialize |
( |
| ) |
|
|
finaloverridevirtual |
Detect the OpenCL devices and prepare OpenCL context.
This should always be called by derived classes when running on the FPGA accelerator.
Reimplemented from IntegrationBase.
Definition at line 26 of file F150KernelTesterAlg.cxx.
46 cl_int
err = CL_SUCCESS;
64 if (
err != CL_SUCCESS) {
65 return StatusCode::FAILURE;
78 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isClonable()
◆ loadProgram()
StatusCode IntegrationBase::loadProgram |
( |
const std::string & |
xclbin | ) |
|
|
inherited |
Find the xclbin file and load it into the OpenCL program object.
Definition at line 115 of file IntegrationBase.cxx.
118 std::ifstream bin_file(xclbin, std::ios_base::binary);
122 return StatusCode::FAILURE;
125 bin_file.seekg(0, bin_file.end);
126 unsigned bin_size = bin_file.tellg();
128 bin_file.seekg(0, bin_file.beg);
130 std::vector<char>
buf(bin_size);
131 bin_file.read(
buf.data(), bin_size);
135 std::vector<cl_int> binaryStatus;
136 cl::Program::Binaries
bins{{
buf.data(), bin_size}};
141 if (
err == CL_SUCCESS && binaryStatus.at(0) == CL_SUCCESS)
148 return StatusCode::FAILURE;
151 return StatusCode::SUCCESS;
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ precheck()
StatusCode IntegrationBase::precheck |
( |
const std::vector< Gaudi::Property< std::string >> & |
inputs | ) |
const |
|
inherited |
Check if the the desired Gaudi properties are set.
Definition at line 154 of file IntegrationBase.cxx.
160 ATH_MSG_FATAL(
item.documentation()<<
" is empty. Please set it to a valid value");
161 return StatusCode::FAILURE;
168 ATH_MSG_WARNING(
"Device BDF is not set. Using the first found accelerator card. Set property 'bdfID' to specify the BDF of the device.");
171 return StatusCode::SUCCESS;
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
◆ sysExecute()
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
◆ sysInitialize()
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
110 if (
sc.isFailure()) {
118 if ( cs.retrieve().isFailure() ) {
120 return StatusCode::SUCCESS;
122 if (cs->regHandle(
this,*
h).isFailure()) {
123 sc = StatusCode::FAILURE;
124 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_accelerator
cl::Device IntegrationBase::m_accelerator |
|
protectedinherited |
◆ m_chronoSvc
ServiceHandle<IChronoSvc> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_chronoSvc |
|
private |
◆ m_context
cl::Context IntegrationBase::m_context |
|
protectedinherited |
◆ m_detStore
◆ m_deviceBDF
Gaudi::Property<std::string> IntegrationBase::m_deviceBDF {this, "bdfID", "", "BDF ID of the accelerator card"} |
|
protectedinherited |
◆ m_doEmulation
Gaudi::Property<bool> IntegrationBase::m_doEmulation {this, "doEmulation", false, "If software or hardware emulation is being used for debugging"} |
|
protectedinherited |
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
◆ m_FPGADataFormatTool
ToolHandle<FPGADataFormatTool> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_FPGADataFormatTool |
|
private |
Initial value:{
this, "FPGADataFormatTool", "FPGADataFormatTool", "Tool for formatting FPGA data"}
Tool for formatting FPGA data.
Definition at line 61 of file F150KernelTesterAlg.h.
◆ m_FPGAHitKey
◆ m_FPGASlicedHitKey
◆ m_FPGATrackKey
◆ m_insideOutEndEvent
cl::Event EFTrackingFPGAIntegration::F150KernelTesterAlg::m_insideOutEndEvent |
|
private |
◆ m_insideOutInput
cl::Kernel EFTrackingFPGAIntegration::F150KernelTesterAlg::m_insideOutInput |
|
mutableprivate |
◆ m_insideOutInputBuffer
cl::Buffer EFTrackingFPGAIntegration::F150KernelTesterAlg::m_insideOutInputBuffer |
|
mutableprivate |
◆ m_insideOutInputName
Gaudi::Property<std::string> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_insideOutInputName {this, "InsideOutInputName", "", "Name of the inside out input kernel"} |
|
private |
◆ m_insideOutOutput
cl::Kernel EFTrackingFPGAIntegration::F150KernelTesterAlg::m_insideOutOutput |
|
mutableprivate |
◆ m_insideOutOutputBuffer
cl::Buffer EFTrackingFPGAIntegration::F150KernelTesterAlg::m_insideOutOutputBuffer |
|
mutableprivate |
◆ m_insideOutOutputName
Gaudi::Property<std::string> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_insideOutOutputName {this, "InsideOutOutputName", "", "Name of the inside out output kernel"} |
|
private |
◆ m_kernelTime
std::atomic<cl_ulong> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_kernelTime {0} |
|
mutableprivate |
◆ m_num_Events
std::atomic<ulonglong> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_num_Events {0} |
|
mutableprivate |
Number of events for the average time of the kernel execution.
Definition at line 86 of file F150KernelTesterAlg.h.
◆ m_outputConversionTool
◆ m_program
cl::Program IntegrationBase::m_program |
|
protectedinherited |
◆ m_queue
cl::CommandQueue EFTrackingFPGAIntegration::F150KernelTesterAlg::m_queue |
|
private |
◆ m_runIO
Gaudi::Property<bool> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_runIO {this, "RunInsideOut", "", "Whether to run inside out or not"} |
|
private |
◆ m_runIOOnSE
Gaudi::Property<bool> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_runIOOnSE {this, "RunInsideOutOnSlicingEngine", "", "Whether to run inside out on the output of the slicing engine"} |
|
private |
◆ m_runSE
Gaudi::Property<bool> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_runSE {this, "RunSlicing", "", "Whether to run slicing engine or not"} |
|
private |
◆ m_slicingEngineInput
cl::Kernel EFTrackingFPGAIntegration::F150KernelTesterAlg::m_slicingEngineInput |
|
mutableprivate |
◆ m_slicingEngineInputBuffer
cl::Buffer EFTrackingFPGAIntegration::F150KernelTesterAlg::m_slicingEngineInputBuffer |
|
mutableprivate |
◆ m_slicingEngineInputEndEvent
cl::Event EFTrackingFPGAIntegration::F150KernelTesterAlg::m_slicingEngineInputEndEvent |
|
private |
◆ m_slicingEngineInputName
Gaudi::Property<std::string> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_slicingEngineInputName {this, "SlicingEngineInputName", "", "Name of the slicing engine input kernel"} |
|
private |
◆ m_slicingEngineIP
xrt::ip EFTrackingFPGAIntegration::F150KernelTesterAlg::m_slicingEngineIP |
|
mutableprivate |
◆ m_slicingEngineName
Gaudi::Property<std::string> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_slicingEngineName {this, "SlicingEngineName", "", "Name of the slicing engine kernel"} |
|
private |
◆ m_slicingEngineOutput
cl::Kernel EFTrackingFPGAIntegration::F150KernelTesterAlg::m_slicingEngineOutput |
|
mutableprivate |
◆ m_slicingEngineOutputBuffer
cl::Buffer EFTrackingFPGAIntegration::F150KernelTesterAlg::m_slicingEngineOutputBuffer |
|
mutableprivate |
◆ m_slicingEngineOutputEndEvent
cl::Event EFTrackingFPGAIntegration::F150KernelTesterAlg::m_slicingEngineOutputEndEvent |
|
private |
◆ m_slicingEngineOutputName
Gaudi::Property<std::string> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_slicingEngineOutputName {this, "SlicingEngineOutputName", "", "Name of the slicing engine output kernel"} |
|
private |
◆ m_sum_kernelTime
std::atomic<cl_ulong> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_sum_kernelTime {0} |
|
mutableprivate |
◆ m_testVectorTool
ToolHandle<TestVectorTool> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_testVectorTool |
|
private |
Initial value:{
this, "TestVectorTool", "TestVectorTool", "Tool for preparing test vectors"}
Tool for preparing test vectors.
Definition at line 58 of file F150KernelTesterAlg.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_xaodClusterMaker
ToolHandle<xAODClusterMaker> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_xaodClusterMaker |
|
private |
Initial value:{
this,
"xAODClusterMaker",
"xAODClusterMaker",
"Tool for creating xAOD cluster containers"}
Tool for creating xAOD containers.
Definition at line 52 of file F150KernelTesterAlg.h.
◆ m_xclbin
Gaudi::Property<std::string> EFTrackingFPGAIntegration::F150KernelTesterAlg::m_xclbin {this, "xclbin", "", "xclbin path and name"} |
|
private |
◆ m_xrt_accelerator
xrt::device EFTrackingFPGAIntegration::F150KernelTesterAlg::m_xrt_accelerator |
|
private |
The documentation for this class was generated from the following files:
std::string get_cu_name(const std::string &kernel_name, int cu)
cl::Device m_accelerator
Device object for the accelerator card.
char data[hepevt_bytes_allocation_ATLAS]
virtual StatusCode initialize() override
Detect the OpenCL devices and prepare OpenCL context.
Gaudi::Property< std::string > m_slicingEngineInputName
ToolHandle< FPGADataFormatTool > m_FPGADataFormatTool
Tool for formatting FPGA data.
cl::Kernel m_insideOutOutput
Gaudi::Property< std::string > m_slicingEngineName
ServiceHandle< IChronoSvc > m_chronoSvc
Service for timing the algorithm.
Gaudi::Property< std::string > m_slicingEngineOutputName
ToolHandle< OutputConversionTool > m_outputConversionTool
Gaudi::Property< std::string > m_insideOutInputName
cl::Context m_context
Context object for the application.
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
std::atomic< ulonglong > m_num_Events
Number of events for the average time of the kernel execution.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
Gaudi::Property< bool > m_runIOOnSE
Whether to run inside out on the output of slicing engine.
void dumpHexData(size_t dataLen, uint64_t *data, const std::string &dataDescriptor) const
std::atomic< cl_ulong > m_sum_kernelTime
Sum for the average time of the kernel execution.
virtual void setOwner(IDataHandleHolder *o)=0
cl::Kernel m_insideOutInput
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
Exception-safe IChronoSvc caller.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
cl::Kernel m_slicingEngineInput
ToolHandle< xAODClusterMaker > m_xaodClusterMaker
Tool for creating xAOD containers.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
cl::Buffer m_slicingEngineOutputBuffer
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
Gaudi::Property< std::string > m_deviceBDF
BDF ID of the accelerator card.
xrt::device m_xrt_accelerator
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
StatusCode loadProgram(const std::string &xclbin)
Find the xclbin file and load it into the OpenCL program object.
virtual void renounce()=0
Gaudi::Property< bool > m_runIO
Whether to run inside out or not.
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ToolHandle< TestVectorTool > m_testVectorTool
Tool for preparing test vectors.
std::string to_string(const DetectorType &type)
cl::Kernel m_slicingEngineOutput
Gaudi::Property< std::string > m_xclbin
Path and name of the xclbin file.
xrt::ip m_slicingEngineIP
Gaudi::Property< bool > m_runSE
Whether to run SE or not.
Gaudi::Property< std::string > m_insideOutOutputName
#define ATH_MSG_WARNING(x)
cl::Buffer m_insideOutInputBuffer
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual StatusCode sysInitialize() override
Override sysInitialize.
cl::Buffer m_slicingEngineInputBuffer
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
cl::Program m_program
Program object containing the kernel.
cl::Buffer m_insideOutOutputBuffer
SG::ReadHandleKey< FPGATrackSimHitCollection > m_FPGASlicedHitKey
SG::ReadHandleKey< FPGATrackSimTrackCollection > m_FPGATrackKey
SG::ReadHandleKey< FPGATrackSimHitCollection > m_FPGAHitKey