Context class C wrapper
Overview
// global functions DPCTL_API bool DPCTLContext_AreEq( __dpctl_keep const DPCTLSyclContextRef CtxRef1, __dpctl_keep const DPCTLSyclContextRef CtxRef2 ); DPCTL_API __dpctl_give DPCTLSyclContextRef DPCTLContext_Copy(__dpctl_keep const DPCTLSyclContextRef CRef); DPCTL_API __dpctl_give DPCTLSyclContextRef DPCTLContext_Create( __dpctl_keep const DPCTLSyclDeviceRef DRef, error_handler_callback* handler, int properties ); DPCTL_API __dpctl_give DPCTLSyclContextRef DPCTLContext_CreateFromDevices( __dpctl_keep const DPCTLDeviceVectorRef DVRef, error_handler_callback* handler, int properties ); DPCTL_API void DPCTLContext_Delete(__dpctl_take DPCTLSyclContextRef CtxRef); DPCTL_API size_t DPCTLContext_DeviceCount(__dpctl_keep const DPCTLSyclContextRef CRef); DPCTL_API DPCTLSyclBackendType DPCTLContext_GetBackend(__dpctl_keep const DPCTLSyclContextRef CtxRef); DPCTL_API __dpctl_give DPCTLDeviceVectorRef DPCTLContext_GetDevices(__dpctl_keep const DPCTLSyclContextRef CRef); DPCTL_API size_t DPCTLContext_Hash(__dpctl_keep DPCTLSyclContextRef CtxRef);
Detailed Documentation
Global Functions
DPCTL_API bool DPCTLContext_AreEq( __dpctl_keep const DPCTLSyclContextRef CtxRef1, __dpctl_keep const DPCTLSyclContextRef CtxRef2 )
Checks if two DPCTLSyclContextRef objects point to the same sycl::context.
Parameters:
CtxRef1  | 
First opaque pointer to the sycl context.  | 
CtxRef2  | 
Second opaque pointer to the sycl context.  | 
Returns:
True if the underlying sycl::context are same, false otherwise.
DPCTL_API __dpctl_give DPCTLSyclContextRef DPCTLContext_Copy(__dpctl_keep const DPCTLSyclContextRef CRef)
Returns a copy of the DPCTLSyclContextRef object.
Parameters:
CRef  | 
DPCTLSyclContextRef object to be copied.  | 
Returns:
A new DPCTLSyclContextRef created by copying the passed in DPCTLSyclContextRef object.
DPCTL_API __dpctl_give DPCTLSyclContextRef DPCTLContext_Create( __dpctl_keep const DPCTLSyclDeviceRef DRef, error_handler_callback* handler, int properties )
Constructs a new SYCL context for the given SYCL device using the optional async error handler and properties bit flags.
Parameters:
DRef  | 
Opaque pointer to a SYCL device.  | 
handler  | 
A callback function that will be invoked by the async_handler used during context creation. Can be NULL if no async_handler is needed.  | 
properties  | 
An optional combination of bit flags to define context properties. Currently, dpctl does not use this argument.  | 
Returns:
A new opaque pointer wrapping a SYCL context.
DPCTL_API __dpctl_give DPCTLSyclContextRef DPCTLContext_CreateFromDevices( __dpctl_keep const DPCTLDeviceVectorRef DVRef, error_handler_callback* handler, int properties )
Constructs a new SYCL context for the given vector of SYCL devices using the optional async error handler and properties bit flags.
Parameters:
DVRef  | 
An opaque pointer to a std::vector of DPCTLSyclDeviceRef opaque pointers.  | 
handler  | 
A callback function that will be invoked by the async_handler used during context creation. Can be NULL if no async_handler is needed.  | 
properties  | 
An optional combination of bit flags to define context properties. Currently, dpctl does not use this argument.  | 
Returns:
A new opaque pointer wrapping a SYCL context.
DPCTL_API void DPCTLContext_Delete(__dpctl_take DPCTLSyclContextRef CtxRef)
Delete the pointer after casting it to sycl::context.
Parameters:
CtxRef  | 
The DPCTLSyclContextRef pointer to be deleted.  | 
DPCTL_API size_t DPCTLContext_DeviceCount(__dpctl_keep const DPCTLSyclContextRef CRef)
Returns the number of devices associated with sycl::context referenced by DPCTLSyclContextRef object.
Parameters:
CRef  | 
DPCTLSyclContexRef object to query.  | 
Returns:
A positive count on success or zero on error.
DPCTL_API DPCTLSyclBackendType DPCTLContext_GetBackend(__dpctl_keep const DPCTLSyclContextRef CtxRef)
Returns the sycl backend for the DPCTLSyclContextRef pointer.
Parameters:
CtxRef  | 
An opaque pointer to a sycl::context.  | 
Returns:
The sycl backend for the DPCTLSyclContextRef returned as a DPCTLSyclBackendType enum type.
DPCTL_API __dpctl_give DPCTLDeviceVectorRef DPCTLContext_GetDevices(__dpctl_keep const DPCTLSyclContextRef CRef)
Returns a vector of devices associated with sycl::context referenced by DPCTLSyclContextRef object.
Parameters:
CRef  | 
DPCTLSyclContexRef object to query.  | 
Returns:
A DPCTLDeviceVectorRef with devices associated with given CRef.
DPCTL_API size_t DPCTLContext_Hash(__dpctl_keep DPCTLSyclContextRef CtxRef)
Wrapper over std::hash<sycl::context>’s operator()
Parameters:
CtxRef  | 
The DPCTLSyclContextRef pointer.  | 
Returns:
Hash value of the underlying sycl::context instance.