CIRCT
20.0.0git
|
Classes | |
struct | TraceHostMemRegion |
Public Member Functions | |
TraceHostMem (TraceAccelerator::Impl &impl) | |
virtual std::unique_ptr< HostMemRegion > | allocate (std::size_t size, HostMem::Options opts) const override |
Allocate a region of host memory in accelerator accessible address space. More... | |
virtual bool | mapMemory (void *ptr, std::size_t size, HostMem::Options opts) const override |
Try to make a region of host memory accessible to the accelerator. More... | |
virtual void | unmapMemory (void *ptr) const override |
Unmap memory which was previously mapped with 'mapMemory'. More... | |
Public Member Functions inherited from esi::services::HostMem | |
virtual | ~HostMem ()=default |
virtual std::string | getServiceSymbol () const override |
virtual void | start () |
In cases where necessary, enable host memory services. More... | |
Public Member Functions inherited from esi::services::Service | |
virtual | ~Service ()=default |
virtual Service * | getChildService (AcceleratorConnection *conn, Service::Type service, AppIDPath id={}, std::string implName={}, ServiceImplDetails details={}, HWClientDetails clients={}) |
Create a "child" service of this service. More... | |
virtual ServicePort * | getPort (AppIDPath id, const BundleType *type, const std::map< std::string, ChannelPort & > &, AcceleratorConnection &) const |
Get specialized port for this service to attach to the given appid path. More... | |
Private Attributes | |
TraceAccelerator::Impl & | impl |
Additional Inherited Members | |
Public Types inherited from esi::services::Service | |
using | Type = const std::type_info & |
|
inline |
|
inlineoverridevirtual |
Allocate a region of host memory in accelerator accessible address space.
Implements esi::services::HostMem.
Definition at line 312 of file Trace.cpp.
References esi::backends::trace::TraceAccelerator::impl, esi::services::HostMem::Options::useLargePages, and esi::services::HostMem::Options::writeable.
|
inlineoverridevirtual |
Try to make a region of host memory accessible to the accelerator.
Returns 'false' on failure. It is optional for an accelerator backend to implement this, so client code needs to have a fallback for when this returns 'false'. On success, it is the client's responsibility to ensure that the memory eventually gets unmapped.
Reimplemented from esi::services::HostMem.
Definition at line 322 of file Trace.cpp.
References esi::backends::trace::TraceAccelerator::impl, esi::services::HostMem::Options::useLargePages, and esi::services::HostMem::Options::writeable.
|
inlineoverridevirtual |
Unmap memory which was previously mapped with 'mapMemory'.
Undefined behavior when called with a pointer which was not previously mapped.
Reimplemented from esi::services::HostMem.
Definition at line 332 of file Trace.cpp.
References esi::backends::trace::TraceAccelerator::impl.
|
private |