|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef ATHEXXRT_VECTORADDOCLEXAMPLEALG_H
5 #define ATHEXXRT_VECTORADDOCLEXAMPLEALG_H
16 #include "GaudiKernel/ServiceHandle.h"
46 this,
"DeviceMgmtSvc",
"AthXRT::DeviceMgmtSvc",
47 "The XRT device manager service to use"};
71 std::unique_ptr<cl::Kernel>
m_kernel =
nullptr;
74 std::unique_ptr<cl::CommandQueue>
m_queue =
nullptr;
93 #endif // ATHEXXRT_VECTORADDOCLEXAMPLEALG_H
static constexpr int s_krnl_param_out
uint32_t * m_host_buf_out
virtual StatusCode initialize() override
Function initialising the algorithm.
std::unique_ptr< cl::Buffer > m_dev_buf_out
SG::SlotSpecificObj< SlotData > m_slots
List of slot-specific data.
static constexpr char s_krnl_name[]
std::unique_ptr< cl::CommandQueue > m_queue
Kernel run object.
static constexpr int s_krnl_param_in1
ServiceHandle< AthXRT::IDeviceMgmtSvc > m_DeviceMgmtSvc
The XRT device manager to use.
An algorithm that can be simultaneously executed in multiple threads.
std::unique_ptr< cl::Buffer > m_dev_buf_in1
Buffer objects.
uint32_t * m_host_buf_in1
Maintain a set of objects, one per slot.
virtual StatusCode finalize() override
Function finalising the algorithm.
AthReentrantAlgorithm()
Default constructor:
::StatusCode StatusCode
StatusCode definition for legacy code.
std::shared_ptr< cl::Context > m_context
OpenCL context pointer.
static constexpr int s_krnl_param_size
std::unique_ptr< cl::Kernel > m_kernel
Kernel object.
std::unique_ptr< cl::Buffer > m_dev_buf_in2
uint32_t * m_host_buf_in2
static constexpr int s_krnl_param_in2
Maintain a set of objects, one per slot.
static constexpr int s_element_count
Example algorithm exercising the AthXRT core services.
virtual StatusCode execute(const EventContext &ctx) const override
Function executing the algorithm.
std::shared_ptr< cl::Program > m_program
OpenCL program pointer.