19 #ifndef ESI_BACKENDS_XRT_H
20 #define ESI_BACKENDS_XRT_H
37 static std::unique_ptr<AcceleratorConnection>
43 std::map<std::string, ChannelPort &>
54 std::unique_ptr<Impl>
impl;
Abstract class representing a connection to an accelerator.
std::map< std::string, services::Service * > ServiceTable
Bundles represent a collection of channels.
AcceleratorConnections, Accelerators, and Manifests must all share a context.
Connect to an ESI simulation.
std::map< std::string, ChannelPort & > requestChannelsFor(AppIDPath, const BundleType *, const ServiceTable &) override
Request the host side channel ports for a particular instance (identified by the AppID path).
XrtAccelerator(Context &, std::string xclbin, std::string kernelName)
Construct and connect to a cosim server.
static std::unique_ptr< AcceleratorConnection > connect(Context &, std::string connectionString)
Parse the connection std::string and instantiate the accelerator.
std::unique_ptr< Impl > impl
virtual Service * createService(Service::Type service, AppIDPath path, std::string implName, const ServiceImplDetails &details, const HWClientDetails &clients) override
Called by getServiceImpl exclusively.
Parent class of all APIs modeled as 'services'.
const std::type_info & Type
std::map< std::string, std::any > ServiceImplDetails
std::vector< HWClientDetail > HWClientDetails