DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::detail::SYCLMemObjI Class Referenceabstract

#include <detail/sycl_mem_obj_i.hpp>

Inheritance diagram for sycl::_V1::detail::SYCLMemObjI:
Collaboration diagram for sycl::_V1::detail::SYCLMemObjI:

Public Types

enum  MemObjType { Buffer = 0 , Image = 1 , Undefined = 2 }
 

Public Member Functions

virtual ~SYCLMemObjI ()=default
 
virtual MemObjType getType () const =0
 
virtual void * allocateMem (ContextImplPtr Context, bool InitFromUserData, void *HostPtr, sycl::detail::pi::PiEvent &InteropEvent)=0
 
virtual void * allocateHostMem ()=0
 
virtual void releaseMem (ContextImplPtr Context, void *Ptr)=0
 
virtual void releaseHostMem (void *Ptr)=0
 
virtual size_t getSizeInBytes () const noexcept=0
 
virtual bool isInterop () const =0
 
virtual bool hasUserDataPtr () const =0
 
virtual bool isHostPointerReadOnly () const =0
 
virtual bool usesPinnedHostMemory () const =0
 
virtual ContextImplPtr getInteropContext () const =0
 

Protected Attributes

std::shared_ptr< MemObjRecordMRecord
 

Friends

class Scheduler
 
class ExecCGCommand
 

Detailed Description

Definition at line 27 of file sycl_mem_obj_i.hpp.

Member Enumeration Documentation

◆ MemObjType

Enumerator
Buffer 
Image 
Undefined 

Definition at line 31 of file sycl_mem_obj_i.hpp.

Constructor & Destructor Documentation

◆ ~SYCLMemObjI()

virtual sycl::_V1::detail::SYCLMemObjI::~SYCLMemObjI ( )
virtualdefault

Member Function Documentation

◆ allocateHostMem()

virtual void* sycl::_V1::detail::SYCLMemObjI::allocateHostMem ( )
pure virtual

◆ allocateMem()

virtual void* sycl::_V1::detail::SYCLMemObjI::allocateMem ( ContextImplPtr  Context,
bool  InitFromUserData,
void *  HostPtr,
sycl::detail::pi::PiEvent InteropEvent 
)
pure virtual

◆ getInteropContext()

virtual ContextImplPtr sycl::_V1::detail::SYCLMemObjI::getInteropContext ( ) const
pure virtual

◆ getSizeInBytes()

virtual size_t sycl::_V1::detail::SYCLMemObjI::getSizeInBytes ( ) const
pure virtualnoexcept

◆ getType()

◆ hasUserDataPtr()

virtual bool sycl::_V1::detail::SYCLMemObjI::hasUserDataPtr ( ) const
pure virtual

◆ isHostPointerReadOnly()

virtual bool sycl::_V1::detail::SYCLMemObjI::isHostPointerReadOnly ( ) const
pure virtual

◆ isInterop()

virtual bool sycl::_V1::detail::SYCLMemObjI::isInterop ( ) const
pure virtual

◆ releaseHostMem()

virtual void sycl::_V1::detail::SYCLMemObjI::releaseHostMem ( void *  Ptr)
pure virtual

◆ releaseMem()

virtual void sycl::_V1::detail::SYCLMemObjI::releaseMem ( ContextImplPtr  Context,
void *  Ptr 
)
pure virtual

◆ usesPinnedHostMemory()

virtual bool sycl::_V1::detail::SYCLMemObjI::usesPinnedHostMemory ( ) const
pure virtual

Friends And Related Function Documentation

◆ ExecCGCommand

friend class ExecCGCommand
friend

Definition at line 84 of file sycl_mem_obj_i.hpp.

◆ Scheduler

friend class Scheduler
friend

Definition at line 83 of file sycl_mem_obj_i.hpp.

Member Data Documentation

◆ MRecord


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