CIRCT 24.0.0git
Loading...
Searching...
No Matches
TraceHostMem Class Reference
Inheritance diagram for TraceHostMem:
Collaboration diagram for TraceHostMem:

Classes

struct  TraceHostMemRegion

Public Member Functions

 TraceHostMem (TraceAccelerator &conn)
virtual std::unique_ptr< HostMemRegion > allocate (std::size_t size, HostMem::Options opts) const override
virtual bool mapMemory (void *ptr, std::size_t size, HostMem::Options opts) const override
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.
virtual std::unique_ptr< HostMemRegion > allocate (std::size_t size, Options opts) const override=0
 Allocate a region of host memory in accelerator accessible address space.
virtual bool mapMemory (void *ptr, std::size_t size, Options opts) const
 Try to make a region of host memory accessible to the accelerator.
 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
Public Member Functions inherited from esi::services::HostMemAllocator
virtual ~HostMemAllocator ()=default

Private Attributes

TraceAccelerator::Impl & impl

Additional Inherited Members

Public Types inherited from esi::services::HostMem
using HostMemRegion = services::HostMemRegion
 RAII memory region for host memory. See services::HostMemRegion.
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

Detailed Description

Definition at line 324 of file Trace.cpp.

Constructor & Destructor Documentation

◆ TraceHostMem()

TraceHostMem::TraceHostMem ( TraceAccelerator & conn)
inline

Definition at line 326 of file Trace.cpp.

References esi::services::Service::conn, and impl.

Member Function Documentation

◆ allocate()

virtual std::unique_ptr< HostMemRegion > TraceHostMem::allocate ( std::size_t size,
HostMem::Options opts ) const
inlineoverridevirtual

◆ mapMemory()

virtual bool TraceHostMem::mapMemory ( void * ptr,
std::size_t size,
HostMem::Options opts ) const
inlineoverridevirtual

◆ unmapMemory()

virtual void TraceHostMem::unmapMemory ( void * ptr) const
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 370 of file Trace.cpp.

References impl.

Member Data Documentation

◆ impl

TraceAccelerator::Impl& TraceHostMem::impl
private

Definition at line 376 of file Trace.cpp.

Referenced by allocate(), mapMemory(), TraceHostMem(), and unmapMemory().


The documentation for this class was generated from the following file: