DPC++ Runtime
Runtime libraries for oneAPI DPC++
|
|
Go to the documentation of this file.
23 #include <unordered_map>
29 #define _PI_ESIMD_PLUGIN_VERSION 1
31 #define _PI_ESIMD_PLUGIN_VERSION_STRING \
32 _PI_PLUGIN_VERSION_STRING(_PI_ESIMD_PLUGIN_VERSION)
38 template <
class To,
class From> To
pi_cast(From Value) {
40 assert(
sizeof(From) ==
sizeof(To));
44 template <> uint32_t
pi_cast(uint64_t Value) {
46 uint32_t CastedValue = (uint32_t)(Value);
47 assert((uint64_t)CastedValue == Value);
53 [[noreturn]]
void die(
const char *Message) {
54 std::cerr <<
"die: " << Message << std::endl;
83 std::string ArgVersionStr)
174 unsigned int SurfaceIdxArg)
182 unsigned int SurfaceIdxArg,
size_t SizeArg)
183 :
_pi_mem(ctxt, HostPtr, SurfacePtrArg, SurfaceIdxArg),
Size{SizeArg} {}
191 unsigned int SurfaceIdxArg,
size_t WidthArg,
size_t HeightArg,
193 :
_pi_mem(ctxt, HostPtr, SurfacePtrArg, SurfaceIdxArg),
Width{WidthArg},
_pi_queue(pi_context ContextArg, cm_support::CmQueue *CmQueueArg)
std::atomic< pi_uint32 > RefCount
void die(const char *Message)
_pi_context(pi_device ArgDevice)
cm_support::CmDevice * CmDevicePtr
std::unordered_map< void *, Mapping > Mappings
cm_support::CmEvent * CmEventPtr
virtual ~_pi_object()=default
_pi_device(pi_platform ArgPlt, cm_support::CmDevice *ArgCmDev, std::string ArgVersionStr)
cm_support::CmBuffer * RegularBufPtr
cm_support::CmSurface2D * RegularImgPtr
std::mutex Addr2CmBufferSVMLock
cm_surface_ptr_t SurfacePtr
_pi_mem(pi_context ctxt, char *HostPtr, cm_surface_ptr_t SurfacePtrArg, unsigned int SurfaceIdxArg)
__SYCL_EXTERN_STREAM_ATTRS ostream cerr
Linked to standard error (unbuffered)
cm_support::CmBufferUP * UPBufPtr
std::unordered_map< void *, cm_support::CmBufferSVM * > Addr2CmBufferSVM
cm_support::CmQueue * CmQueuePtr
cm_support::CmSurface2DUP * UPImgPtr
unsigned int SurfaceIndex
_pi_buffer(pi_context ctxt, char *HostPtr, cm_surface_ptr_t SurfacePtrArg, unsigned int SurfaceIdxArg, size_t SizeArg)
_pi_image(pi_context ctxt, char *HostPtr, cm_surface_ptr_t SurfacePtrArg, unsigned int SurfaceIdxArg, size_t WidthArg, size_t HeightArg, size_t BPPArg)
cm_support::CmQueue * OwnerQueue
bool checkSurfaceArgument(pi_mem_flags Flags, void *HostPtr)