#include <detail/sycl_mem_obj_i.hpp>
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< MemObjRecord > | MRecord |
Friends | |
class | Scheduler |
class | ExecCGCommand |
Definition at line 28 of file sycl_mem_obj_i.hpp.
Enumerator | |
---|---|
Buffer | |
Image | |
Undefined |
Definition at line 32 of file sycl_mem_obj_i.hpp.
|
virtualdefault |
|
pure virtual |
Implemented in sycl::_V1::detail::SYCLMemObjT.
Referenced by sycl::_V1::detail::MemoryManager::allocateHostMemory().
|
pure virtual |
Implemented in sycl::_V1::detail::image_impl, sycl::_V1::detail::buffer_impl, and sycl::_V1::detail::SYCLMemObjT.
Referenced by sycl::_V1::detail::MemoryManager::allocate().
|
pure virtual |
Implemented in sycl::_V1::detail::SYCLMemObjT.
Referenced by sycl::_V1::detail::Scheduler::GraphBuilder::getOrInsertMemObjRecord().
|
pure virtualnoexcept |
Implemented in sycl::_V1::detail::SYCLMemObjT.
|
pure virtual |
Implemented in sycl::_V1::detail::SYCLMemObjT, sycl::_V1::detail::image_impl, and sycl::_V1::detail::buffer_impl.
Referenced by sycl::_V1::detail::copyD2D(), sycl::_V1::detail::copyD2H(), sycl::_V1::detail::copyH2D(), sycl::_V1::detail::MemoryManager::ext_oneapi_copyD2D_cmd_buffer(), sycl::_V1::detail::MemoryManager::ext_oneapi_copyD2H_cmd_buffer(), sycl::_V1::detail::MemoryManager::ext_oneapi_copyH2D_cmd_buffer(), sycl::_V1::detail::MemoryManager::fill(), and sycl::_V1::detail::UpdateHostRequirementCommand::printDot().
|
pure virtual |
Implemented in sycl::_V1::detail::SYCLMemObjT.
|
pure virtual |
Implemented in sycl::_V1::detail::SYCLMemObjT.
|
pure virtual |
Implemented in sycl::_V1::detail::SYCLMemObjT.
|
pure virtual |
Implemented in sycl::_V1::detail::SYCLMemObjT.
Referenced by sycl::_V1::detail::MemoryManager::releaseMemObj().
|
pure virtual |
Implemented in sycl::_V1::detail::SYCLMemObjT.
Referenced by sycl::_V1::detail::MemoryManager::release().
|
pure virtual |
Implemented in sycl::_V1::detail::SYCLMemObjT.
|
friend |
Definition at line 85 of file sycl_mem_obj_i.hpp.
|
friend |
Definition at line 84 of file sycl_mem_obj_i.hpp.
|
protected |
Definition at line 83 of file sycl_mem_obj_i.hpp.
Referenced by sycl::_V1::detail::SYCLMemObjT::detachMemoryObject(), sycl::_V1::detail::Scheduler::enqueueLeavesOfReqUnlocked(), sycl::_V1::detail::Scheduler::getMemObjRecord(), sycl::_V1::detail::Scheduler::GraphBuilder::getMemObjRecord(), sycl::_V1::detail::buffer_impl::getNativeVector(), sycl::_V1::detail::Scheduler::GraphBuilder::getOrInsertMemObjRecord(), sycl::_V1::detail::Scheduler::GraphBuilder::removeRecordForMemObj(), and sycl::_V1::detail::SYCLMemObjT::updateHostMemory().