DPC++ Runtime
Runtime libraries for oneAPI Data Parallel C++
cl::sycl::detail::SYCLMemObjI Class Referenceabstract

#include <CL/sycl/detail/sycl_mem_obj_i.hpp>

Inheritance diagram for cl::sycl::detail::SYCLMemObjI:
Collaboration diagram for cl::sycl::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, RT::PiEvent &InteropEvent)=0
 
virtual void * allocateHostMem ()=0
 
virtual void releaseMem (ContextImplPtr Context, void *Ptr)=0
 
virtual void releaseHostMem (void *Ptr)=0
 
virtual size_t getSize () const =0
 
virtual ContextImplPtr getInteropContext () const =0
 

Protected Attributes

std::shared_ptr< MemObjRecordMRecord
 

Friends

class Scheduler
 
class ExecCGCommand
 

Detailed Description

Definition at line 28 of file sycl_mem_obj_i.hpp.

Member Enumeration Documentation

◆ MemObjType

Enumerator
Buffer 
Image 
Undefined 

Definition at line 32 of file sycl_mem_obj_i.hpp.

Constructor & Destructor Documentation

◆ ~SYCLMemObjI()

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

Member Function Documentation

◆ allocateHostMem()

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

◆ allocateMem()

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

◆ getInteropContext()

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

◆ getSize()

virtual size_t cl::sycl::detail::SYCLMemObjI::getSize ( ) const
pure virtual

◆ getType()

◆ releaseHostMem()

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

◆ releaseMem()

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

Friends And Related Function Documentation

◆ ExecCGCommand

friend class ExecCGCommand
friend

Definition at line 76 of file sycl_mem_obj_i.hpp.

◆ Scheduler

friend class Scheduler
friend

Definition at line 75 of file sycl_mem_obj_i.hpp.

Member Data Documentation

◆ MRecord


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