![]() |
ATLAS Offline Software
|
Interface for a tool that provides host and device copy objects. More...
#include <ICopiesTool.h>
Public Member Functions | |
| DeclareInterfaceID (ICopiesTool, 1, 0) | |
| Declare the interface that the tool will implement. | |
| virtual | ~ICopiesTool ()=default |
| Destructor. | |
| virtual std::shared_ptr< const vecmem::copy > | hostCopy (const EventContext &ctx) const =0 |
| Get the "host" copy object. | |
| virtual std::shared_ptr< const vecmem::copy > | deviceCopy (const EventContext &ctx) const =0 |
| Get the "device" copy object. | |
Interface for a tool that provides host and device copy objects.
A given vecmem::copy object is always for one specific type of copy. It can be for performing host<->device copies to a specific type of device, in synchronous or asynchronous ways. Or it can just be for host<->host copies.
Components performing copies between the host and the device can generally be configured in 2 ways:
In both of those cases, the component generally needs access to both a "host" and a "device" copy object. It needs a "host" version in both cases to properly set up / handle buffers allocated in host accessible memory.
Long story short, components that need to perform host<->device copies, need to make use of this interface.
Definition at line 40 of file ICopiesTool.h.
|
virtualdefault |
Destructor.
| AthDevice::ICopiesTool::DeclareInterfaceID | ( | ICopiesTool | , |
| 1 | , | ||
| 0 | ) |
Declare the interface that the tool will implement.
|
pure virtual |
Get the "device" copy object.
|
pure virtual |
Get the "host" copy object.