|
CIRCT 22.0.0git
|
Connect to an ESI simulation. More...
#include <Xrt.h>


Classes | |
| struct | Impl |
Public Member Functions | |
| XrtAccelerator (Context &, std::string xclbin, std::string kernelName) | |
| Construct and connect to a cosim server. | |
| ~XrtAccelerator () | |
Public Member Functions inherited from esi::AcceleratorConnection | |
| AcceleratorConnection (Context &ctxt) | |
| virtual | ~AcceleratorConnection () |
| Context & | getCtxt () const |
| Logger & | getLogger () const |
| virtual void | disconnect () |
| Disconnect from the accelerator cleanly. | |
| AcceleratorServiceThread * | getServiceThread () |
| Return a pointer to the accelerator 'service' thread (or threads). | |
| template<typename ServiceClass > | |
| ServiceClass * | getService (AppIDPath id={}, std::string implName={}, ServiceImplDetails details={}, HWClientDetails clients={}) |
| Get a typed reference to a particular service type. | |
| virtual Service * | getService (Service::Type service, AppIDPath id={}, std::string implName={}, ServiceImplDetails details={}, HWClientDetails clients={}) |
Calls createService and caches the result. | |
| Accelerator * | takeOwnership (std::unique_ptr< Accelerator > accel) |
| Assume ownership of an accelerator object. | |
| virtual void | createEngine (const std::string &engineTypeName, AppIDPath idPath, const ServiceImplDetails &details, const HWClientDetails &clients) |
| Create a new engine for channel communication with the accelerator. | |
| virtual const BundleEngineMap & | getEngineMapFor (AppIDPath id) |
| Accelerator & | getAccelerator () |
Static Public Member Functions | |
| static std::unique_ptr< AcceleratorConnection > | connect (Context &, std::string connectionString) |
| Parse the connection std::string and instantiate the accelerator. | |
Protected Member Functions | |
| virtual Service * | createService (Service::Type service, AppIDPath path, std::string implName, const ServiceImplDetails &details, const HWClientDetails &clients) override |
Called by getServiceImpl exclusively. | |
Protected Member Functions inherited from esi::AcceleratorConnection | |
| void | registerEngine (AppIDPath idPath, std::unique_ptr< Engine > engine, const HWClientDetails &clients) |
If createEngine is overridden, this method should be called to register the engine and all of the channels it services. | |
Private Attributes | |
| std::unique_ptr< Impl > | impl |
Additional Inherited Members | |
Public Types inherited from esi::AcceleratorConnection | |
| using | ServiceTable = std::map< std::string, services::Service * > |
| using | Service = services::Service |
Protected Attributes inherited from esi::AcceleratorConnection | |
| std::map< AppIDPath, std::unique_ptr< Engine > > | ownedEngines |
| Collection of owned engines. | |
| std::map< AppIDPath, BundleEngineMap > | clientEngines |
| Mapping of clients to their servicing engines. | |
| XrtAccelerator::XrtAccelerator | ( | Context & | ctxt, |
| std::string | xclbin, | ||
| std::string | kernelName | ||
| ) |
| XrtAccelerator::~XrtAccelerator | ( | ) |
Definition at line 95 of file Xrt.cpp.
References esi::AcceleratorConnection::disconnect().
|
static |
Parse the connection std::string and instantiate the accelerator.
Connection std::string format: <xclbin>[:<device_id>] wherein <device_id> is in BDF format.
Definition at line 38 of file Xrt.cpp.
References esi::AcceleratorConnection::ctxt.
|
overrideprotectedvirtual |
Called by getServiceImpl exclusively.
It wraps the pointer returned by this in a unique_ptr and caches it. Separate this from the wrapping/caching since wrapping/caching is an implementation detail.
Implements esi::AcceleratorConnection.
Definition at line 206 of file Xrt.cpp.
References impl.
|
private |
Definition at line 47 of file Xrt.h.
Referenced by createService(), and XrtAccelerator().