 |
ATLAS Offline Software
|
Go to the documentation of this file.
13 std::string full_cu_name = kernel_name +
":{" + kernel_name +
"_" +
std::to_string(cu) +
"}";
20 for (
size_t i = 0;
i < dataLen;
i++) {
46 cl_int
err = CL_SUCCESS;
64 if (
err != CL_SUCCESS) {
65 return StatusCode::FAILURE;
78 return StatusCode::SUCCESS;
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;
167 return StatusCode::SUCCESS;
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.
virtual StatusCode execute(const EventContext &ctx) const override final
Should be overriden by derived classes to perform meaningful work.
std::atomic< ulonglong > m_num_Events
Number of events for the average time of the kernel execution.
Exception-safe IChronoSvc caller.
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.
cl::Kernel m_insideOutInput
Exception-safe IChronoSvc caller.
cl::Kernel m_slicingEngineInput
ToolHandle< xAODClusterMaker > m_xaodClusterMaker
Tool for creating xAOD containers.
::StatusCode StatusCode
StatusCode definition for legacy code.
cl::Buffer m_slicingEngineOutputBuffer
virtual StatusCode initialize() override final
Detect the OpenCL devices and prepare OpenCL context.
xrt::device m_xrt_accelerator
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
The class for enconding RDO to FPGA format.
StatusCode loadProgram(const std::string &xclbin)
Find the xclbin file and load it into the OpenCL program object.
Gaudi::Property< bool > m_runIO
Whether to run inside out or not.
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.
virtual StatusCode finalize() override final
Gaudi::Property< std::string > m_insideOutOutputName
cl::Buffer m_insideOutInputBuffer
cl::Buffer m_slicingEngineInputBuffer
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