|
CIRCT 22.0.0git
|


Classes | |
| struct | TraceHostMemRegion |
Public Member Functions | |
| TraceHostMem (TraceAccelerator &conn) | |
| 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. | |
| 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. | |
| virtual void | unmapMemory (void *ptr) const override |
| Unmap memory which was previously mapped with 'mapMemory'. | |
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. | |
| Service (AcceleratorConnection &conn) | |
Public Member Functions inherited from esi::services::Service | |
| Service (AcceleratorConnection &conn) | |
| virtual | ~Service ()=default |
| virtual Service * | getChildService (Service::Type service, AppIDPath id={}, std::string implName={}, ServiceImplDetails details={}, HWClientDetails clients={}) |
| Create a "child" service of this service. | |
| virtual BundlePort * | getPort (AppIDPath id, const BundleType *type) const |
| Get specialized port for this service to attach to the given appid path. | |
| AcceleratorConnection & | getConnection () const |
Private Attributes | |
| TraceAccelerator::Impl & | impl |
Additional Inherited Members | |
Public Types inherited from esi::services::Service | |
| using | Type = const std::type_info & |
Static Public Attributes inherited from esi::services::HostMem | |
| static constexpr std::string_view | StdName = "esi.service.std.hostmem" |
Protected Attributes inherited from esi::services::Service | |
| AcceleratorConnection & | conn |
|
inline |
|
inlineoverridevirtual |
Allocate a region of host memory in accelerator accessible address space.
Implements esi::services::HostMem.
Definition at line 307 of file Trace.cpp.
References 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 317 of file Trace.cpp.
References 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.
|
private |