 |
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef EFTRACKING_FPGA_INTEGRATION_F110StreamIntegrationAlg_H
10 #define EFTRACKING_FPGA_INTEGRATION_F110StreamIntegrationAlg_H
20 #include "GaudiKernel/ServiceHandle.h"
21 #include "GaudiKernel/IChronoSvc.h"
36 using IntegrationBase::IntegrationBase;
53 Gaudi::Property<int>
m_FPGAThreads{
this,
"FPGAThreads", 1,
"number of FPGA threads to initialize"};
55 Gaudi::Property<std::string>
m_xclbin{
this,
"xclbin",
"",
"xclbin path and name"};
96 #endif // EFTRACKING_FPGA_INTEGRATION_F110StreamIntegrationAlg_H
This is the class for the benchmark algorithm specific to the FPGA integration and output conversion.
std::atomic< cl_ulong > m_stripPipelineTime
Time for strip pipeline.
ServiceHandle< IChronoSvc > m_chronoSvc
Service for timing the algorithm.
The base class for the EFTracking FPGA integration development.
SG::WriteHandleKey< std::vector< uint32_t > > m_FPGAPixelOutput
Gaudi::Property< std::string > m_pixelStartClusterKernelName
Name of the pixel clustering kernel start.
SG::ReadHandleKey< int > m_FPGAPixelRDOSize
virtual StatusCode initialize() override final
Detect the OpenCL devices and prepare OpenCL context.
std::atomic< cl_ulong > m_pixelPipelineTime
Time for pixel pipeline.
std::vector< cl::CommandQueue > m_acc_queues
SG::ReadHandleKey< std::vector< uint64_t > > m_FPGAPixelRDO
Gaudi::Property< int > m_FPGAThreads
virtual StatusCode finalize() override final
std::vector< cl::Buffer > m_pixelClusterInputBufferList
std::atomic< cl_ulong > m_pixelOutputTime
Time for pixel output buffer read.
Property holding a SG store/key/clid from which a ReadHandle is made.
std::atomic< ulonglong > m_numEvents
Number of events processed.
std::vector< cl::Kernel > m_stripStartClusteringKernels ATLAS_THREAD_SAFE
std::vector< cl::Buffer > m_stripClusterInputBufferList
Gaudi::Property< std::string > m_xclbin
Path and name of the xclbin file.
std::vector< cl::Kernel > m_stripEndClusteringKernels ATLAS_THREAD_SAFE
std::vector< cl::Kernel > m_pixelEndClusteringKernels ATLAS_THREAD_SAFE
Gaudi::Property< std::string > m_stripStartClusterKernelName
Name of the strip clustering kernel start.
Property holding a SG store/key/clid from which a WriteHandle is made.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< cl::Kernel > m_pixelStartClusteringKernels ATLAS_THREAD_SAFE
SG::ReadHandleKey< int > m_FPGAStripRDOSize
The class for enconding RDO to FPGA format.
Gaudi::Property< std::string > m_pixelEndClusterKernelName
Name of the pixel clustering kernel start.
std::atomic< cl_ulong > m_stripInputTime
Time for strip input buffer write.
std::atomic< cl_ulong > m_pixelInputTime
Time for pixel input buffer write.
std::vector< cl::Buffer > m_edmPixelOutputBufferList
Gaudi::Property< std::string > m_stripEndClusterKernelName
Name of the strip clustering kernel start.
virtual StatusCode execute(const EventContext &ctx) const override final
Should be overriden by derived classes to perform meaningful work.
std::vector< cl::Buffer > m_edmStripOutputBufferList
std::atomic< cl_ulong > m_stripOutputTime
Time for strip output buffer read.
SG::WriteHandleKey< std::vector< uint32_t > > m_FPGAStripOutput
void getListofCUs(std::vector< std::string > &cuNames)
SG::ReadHandleKey< std::vector< uint64_t > > m_FPGAStripRDO