.. _global: .. index:: pair: namespace; global Global Namespace ================ .. toctree:: :hidden: namespace_dpctl.rst enum_DPCTLGlobalMemCacheType.rst enum_DPCTLKernelArgType.rst enum_DPCTLPartitionAffinityDomainType.rst enum_DPCTLQueuePropertyType.rst enum_DPCTLSyclAspectType.rst enum_DPCTLSyclBackendType.rst enum_DPCTLSyclDeviceType.rst enum_DPCTLSyclEventStatusType.rst enum_DPCTLSyclUSMType.rst struct_MDLocalAccessorTy.rst Overview ~~~~~~~~ .. ref-code-block:: cpp :class: doxyrest-overview-code-block // namespaces namespace :ref:`dpctl`; namespace :ref:`dpctl::syclinterface`; // typedefs typedef void :ref:`error_handler_callback`(int err_code); typedef struct DPCTLDeviceVector* :target:`DPCTLDeviceVectorRef`; typedef struct DPCTLEventVector* :target:`DPCTLEventVectorRef`; typedef struct DPCTLPlatformVector* :target:`DPCTLPlatformVectorRef`; typedef struct :ref:`MDLocalAccessorTy` :ref:`MDLocalAccessor`; typedef struct DPCTLOpaqueSyclContext* :ref:`DPCTLSyclContextRef`; typedef struct DPCTLOpaqueSyclDevice* :ref:`DPCTLSyclDeviceRef`; typedef struct DPCTLOpaqueSyclDeviceSelector* :ref:`DPCTLSyclDeviceSelectorRef`; typedef struct DPCTLOpaqueSyclEvent* :ref:`DPCTLSyclEventRef`; typedef struct DPCTLOpaqueSyclKernelBundle* :ref:`DPCTLSyclKernelBundleRef`; typedef struct DPCTLOpaqueSyclKernel* :ref:`DPCTLSyclKernelRef`; typedef struct DPCTLOpaqueSyclPlatform* :ref:`DPCTLSyclPlatformRef`; typedef struct DPCTLOpaqueSyclQueue* :ref:`DPCTLSyclQueueRef`; typedef struct DPCTLOpaqueSyclUSM* :ref:`DPCTLSyclUSMRef`; // enums enum :ref:`DPCTLGlobalMemCacheType`; enum :ref:`DPCTLKernelArgType`; enum :ref:`DPCTLPartitionAffinityDomainType`; enum :ref:`DPCTLQueuePropertyType`; enum :ref:`DPCTLSyclAspectType`; enum :ref:`DPCTLSyclBackendType`; enum :ref:`DPCTLSyclDeviceType`; enum :ref:`DPCTLSyclEventStatusType`; enum :ref:`DPCTLSyclUSMType`; // structs struct :ref:`MDLocalAccessorTy`; // global functions :ref:`DPCTL_API` :ref:`__dpctl_give` const char* :ref:`DPCTLService_GetDPCPPVersion`(void); :ref:`DPCTL_API` void :ref:`DPCTLService_InitLogger`( const char* app_name, const char* log_dir ); :ref:`DPCTL_API` void :ref:`DPCTLService_ShutdownLogger`(void); :ref:`DPCTL_API` bool :ref:`DPCTLContext_AreEq`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` CtxRef1, :ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` CtxRef2 ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclContextRef` :ref:`DPCTLContext_Copy`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` CRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclContextRef` :ref:`DPCTLContext_Create`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef, :ref:`error_handler_callback`* handler, int properties ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclContextRef` :ref:`DPCTLContext_CreateFromDevices`( :ref:`__dpctl_keep` const :ref:`DPCTLDeviceVectorRef` DVRef, :ref:`error_handler_callback`* handler, int properties ); :ref:`DPCTL_API` void :ref:`DPCTLContext_Delete`(:ref:`__dpctl_take` :ref:`DPCTLSyclContextRef` CtxRef); :ref:`DPCTL_API` size_t :ref:`DPCTLContext_DeviceCount`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` CRef); :ref:`DPCTL_API` :ref:`DPCTLSyclBackendType` :ref:`DPCTLContext_GetBackend`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` CtxRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLDeviceVectorRef` :ref:`DPCTLContext_GetDevices`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` CRef); :ref:`DPCTL_API` size_t :ref:`DPCTLContext_Hash`(:ref:`__dpctl_keep` :ref:`DPCTLSyclContextRef` CtxRef); :ref:`DPCTL_API` bool :ref:`DPCTLDevice_AreEq`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef1, :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef2 ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclDeviceRef` :ref:`DPCTLDevice_Copy`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclDeviceRef` :ref:`DPCTLDevice_Create`(void); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclDeviceRef` :ref:`DPCTLDevice_CreateFromSelector`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceSelectorRef` DSRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLDeviceVectorRef` :ref:`DPCTLDevice_CreateSubDevicesByAffinity`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef, :ref:`DPCTLPartitionAffinityDomainType` PartAffDomTy ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLDeviceVectorRef` :ref:`DPCTLDevice_CreateSubDevicesByCounts`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef, :ref:`__dpctl_keep` size_t* counts, size_t ncounts ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLDeviceVectorRef` :ref:`DPCTLDevice_CreateSubDevicesEqually`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef, size_t count ); :ref:`DPCTL_API` void :ref:`DPCTLDevice_Delete`(:ref:`__dpctl_take` :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`DPCTLSyclBackendType` :ref:`DPCTLDevice_GetBackend`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`DPCTLSyclDeviceType` :ref:`DPCTLDevice_GetDeviceType`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`__dpctl_give` const char* :ref:`DPCTLDevice_GetDriverVersion`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetGlobalMemCacheLineSize`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint64_t :ref:`DPCTLDevice_GetGlobalMemCacheSize`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`DPCTLGlobalMemCacheType` :ref:`DPCTLDevice_GetGlobalMemCacheType`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint64_t :ref:`DPCTLDevice_GetGlobalMemSize`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` size_t :ref:`DPCTLDevice_GetImage2dMaxHeight`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` size_t :ref:`DPCTLDevice_GetImage2dMaxWidth`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` size_t :ref:`DPCTLDevice_GetImage3dMaxDepth`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` size_t :ref:`DPCTLDevice_GetImage3dMaxHeight`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` size_t :ref:`DPCTLDevice_GetImage3dMaxWidth`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint64_t :ref:`DPCTLDevice_GetLocalMemSize`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetMaxClockFrequency`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetMaxComputeUnits`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint64_t :ref:`DPCTLDevice_GetMaxMemAllocSize`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetMaxNumSubGroups`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetMaxReadImageArgs`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` size_t :ref:`DPCTLDevice_GetMaxWorkGroupSize`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetMaxWorkItemDims`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`__dpctl_keep` size_t* :ref:`DPCTLDevice_GetMaxWorkItemSizes1d`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`__dpctl_keep` size_t* :ref:`DPCTLDevice_GetMaxWorkItemSizes2d`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`__dpctl_keep` size_t* :ref:`DPCTLDevice_GetMaxWorkItemSizes3d`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetMaxWriteImageArgs`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`__dpctl_give` const char* :ref:`DPCTLDevice_GetName`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetNativeVectorWidthChar`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetNativeVectorWidthDouble`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetNativeVectorWidthFloat`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetNativeVectorWidthHalf`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetNativeVectorWidthInt`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetNativeVectorWidthLong`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetNativeVectorWidthShort`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclDeviceRef` :ref:`DPCTLDevice_GetParentDevice`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetPartitionMaxSubDevices`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclPlatformRef` :ref:`DPCTLDevice_GetPlatform`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetPreferredVectorWidthChar`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetPreferredVectorWidthDouble`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetPreferredVectorWidthFloat`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetPreferredVectorWidthHalf`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetPreferredVectorWidthInt`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetPreferredVectorWidthLong`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLDevice_GetPreferredVectorWidthShort`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` size_t :ref:`DPCTLDevice_GetProfilingTimerResolution`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` bool :ref:`DPCTLDevice_GetSubGroupIndependentForwardProgress`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`__dpctl_keep` size_t* :ref:`DPCTLDevice_GetSubGroupSizes`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef, size_t* res_len ); :ref:`DPCTL_API` :ref:`__dpctl_give` const char* :ref:`DPCTLDevice_GetVendor`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` bool :ref:`DPCTLDevice_HasAspect`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef, :ref:`DPCTLSyclAspectType` AT ); :ref:`DPCTL_API` size_t :ref:`DPCTLDevice_Hash`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` bool :ref:`DPCTLDevice_IsAccelerator`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` bool :ref:`DPCTLDevice_IsCPU`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` bool :ref:`DPCTLDevice_IsGPU`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`DPCTLSyclContextRef` :ref:`DPCTLDeviceMgr_GetCachedContext`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`__dpctl_give` const char* :ref:`DPCTLDeviceMgr_GetDeviceInfoStr`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLDeviceVectorRef` :ref:`DPCTLDeviceMgr_GetDevices`(int device_identifier); :ref:`DPCTL_API` size_t :ref:`DPCTLDeviceMgr_GetNumDevices`(int device_identifier); :ref:`DPCTL_API` int :ref:`DPCTLDeviceMgr_GetPositionInDevices`( :ref:`__dpctl_keep` :ref:`DPCTLSyclDeviceRef` DRef, int device_identifier ); :ref:`DPCTL_API` int64_t :ref:`DPCTLDeviceMgr_GetRelativeId`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); :ref:`DPCTL_API` void :ref:`DPCTLDeviceMgr_PrintDeviceInfo`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef); void :ref:`DPCTLDeviceVector_Clear`(:ref:`DPCTLDeviceVectorRef` VRef); :ref:`DPCTLDeviceVectorRef` :ref:`DPCTLDeviceVector_Create`(void); :ref:`DPCTLDeviceVectorRef` :ref:`DPCTLDeviceVector_CreateFromArray`( size_t len, :ref:`DPCTLSyclDeviceRef`* elems ); void :ref:`DPCTLDeviceVector_Delete`(:ref:`DPCTLDeviceVectorRef` VRef); :ref:`DPCTLSyclDeviceRef` :ref:`DPCTLDeviceVector_GetAt`( :ref:`DPCTLDeviceVectorRef` VRef, size_t index ); size_t :ref:`DPCTLDeviceVector_Size`(:ref:`DPCTLDeviceVectorRef` VRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclDeviceSelectorRef` :ref:`DPCTLAcceleratorSelector_Create`(void); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclDeviceSelectorRef` :ref:`DPCTLCPUSelector_Create`(void); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclDeviceSelectorRef` :ref:`DPCTLDefaultSelector_Create`(void); :ref:`DPCTL_API` void :ref:`DPCTLDeviceSelector_Delete`(:ref:`__dpctl_take` :ref:`DPCTLSyclDeviceSelectorRef` DSRef); :ref:`DPCTL_API` int :ref:`DPCTLDeviceSelector_Score`( :ref:`__dpctl_keep` :ref:`DPCTLSyclDeviceSelectorRef` DSRef, :ref:`__dpctl_keep` :ref:`DPCTLSyclDeviceRef` DRef ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclDeviceSelectorRef` :ref:`DPCTLFilterSelector_Create`(:ref:`__dpctl_keep` const char* filter_str); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclDeviceSelectorRef` :ref:`DPCTLGPUSelector_Create`(void); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLEvent_Copy`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclEventRef` ERef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLEvent_Create`(void); :ref:`DPCTL_API` void :ref:`DPCTLEvent_Delete`(:ref:`__dpctl_take` :ref:`DPCTLSyclEventRef` ERef); :ref:`DPCTL_API` :ref:`DPCTLSyclBackendType` :ref:`DPCTLEvent_GetBackend`(:ref:`__dpctl_keep` :ref:`DPCTLSyclEventRef` ERef); :ref:`DPCTL_API` :ref:`DPCTLSyclEventStatusType` :ref:`DPCTLEvent_GetCommandExecutionStatus`(:ref:`__dpctl_keep` :ref:`DPCTLSyclEventRef` ERef); :ref:`DPCTL_API` uint64_t :ref:`DPCTLEvent_GetProfilingInfoEnd`(:ref:`__dpctl_keep` :ref:`DPCTLSyclEventRef` ERef); :ref:`DPCTL_API` uint64_t :ref:`DPCTLEvent_GetProfilingInfoStart`(:ref:`__dpctl_keep` :ref:`DPCTLSyclEventRef` ERef); :ref:`DPCTL_API` uint64_t :ref:`DPCTLEvent_GetProfilingInfoSubmit`(:ref:`__dpctl_keep` :ref:`DPCTLSyclEventRef` ERef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLEventVectorRef` :ref:`DPCTLEvent_GetWaitList`(:ref:`__dpctl_keep` :ref:`DPCTLSyclEventRef` ERef); :ref:`DPCTL_API` void :ref:`DPCTLEvent_Wait`(:ref:`__dpctl_keep` :ref:`DPCTLSyclEventRef` ERef); :ref:`DPCTL_API` void :ref:`DPCTLEvent_WaitAndThrow`(:ref:`__dpctl_keep` :ref:`DPCTLSyclEventRef` ERef); void :ref:`DPCTLEventVector_Clear`(:ref:`DPCTLEventVectorRef` VRef); :ref:`DPCTLEventVectorRef` :ref:`DPCTLEventVector_Create`(void); :ref:`DPCTLEventVectorRef` :ref:`DPCTLEventVector_CreateFromArray`( size_t len, :ref:`DPCTLSyclEventRef`* elems ); void :ref:`DPCTLEventVector_Delete`(:ref:`DPCTLEventVectorRef` VRef); :ref:`DPCTLSyclEventRef` :ref:`DPCTLEventVector_GetAt`( :ref:`DPCTLEventVectorRef` VRef, size_t index ); size_t :ref:`DPCTLEventVector_Size`(:ref:`DPCTLEventVectorRef` VRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclKernelBundleRef` :ref:`DPCTLKernelBundle_Copy`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelBundleRef` KBRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclKernelBundleRef` :ref:`DPCTLKernelBundle_CreateFromOCLSource`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` Ctx, :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` Dev, :ref:`__dpctl_keep` const char* Source, :ref:`__dpctl_keep` const char* CompileOpts ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclKernelBundleRef` :ref:`DPCTLKernelBundle_CreateFromSpirv`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` Ctx, :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` Dev, :ref:`__dpctl_keep` const void* IL, size_t Length, const char* CompileOpts ); :ref:`DPCTL_API` void :ref:`DPCTLKernelBundle_Delete`(:ref:`__dpctl_take` :ref:`DPCTLSyclKernelBundleRef` KBRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclKernelRef` :ref:`DPCTLKernelBundle_GetKernel`( :ref:`__dpctl_keep` :ref:`DPCTLSyclKernelBundleRef` KBRef, :ref:`__dpctl_keep` const char* KernelName ); :ref:`DPCTL_API` bool :ref:`DPCTLKernelBundle_HasKernel`( :ref:`__dpctl_keep` :ref:`DPCTLSyclKernelBundleRef` KBRef, :ref:`__dpctl_keep` const char* KernelName ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclKernelRef` :ref:`DPCTLKernel_Copy`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelRef` KRef); :ref:`DPCTL_API` void :ref:`DPCTLKernel_Delete`(:ref:`__dpctl_take` :ref:`DPCTLSyclKernelRef` KRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLKernel_GetCompileNumSubGroups`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelRef` KRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLKernel_GetCompileSubGroupSize`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelRef` KRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLKernel_GetMaxNumSubGroups`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelRef` KRef); :ref:`DPCTL_API` uint32_t :ref:`DPCTLKernel_GetMaxSubGroupSize`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelRef` KRef); :ref:`DPCTL_API` size_t :ref:`DPCTLKernel_GetNumArgs`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelRef` KRef); :ref:`DPCTL_API` size_t :ref:`DPCTLKernel_GetPreferredWorkGroupSizeMultiple`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelRef` KRef); :ref:`DPCTL_API` size_t :ref:`DPCTLKernel_GetPrivateMemSize`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelRef` KRef); :ref:`DPCTL_API` size_t :ref:`DPCTLKernel_GetWorkGroupSize`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelRef` KRef); :ref:`DPCTL_API` bool :ref:`DPCTLPlatform_AreEq`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclPlatformRef` PRef1, :ref:`__dpctl_keep` const :ref:`DPCTLSyclPlatformRef` PRef2 ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclPlatformRef` :ref:`DPCTLPlatform_Copy`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclPlatformRef` PRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclPlatformRef` :ref:`DPCTLPlatform_Create`(void); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclPlatformRef` :ref:`DPCTLPlatform_CreateFromSelector`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceSelectorRef` DSRef); :ref:`DPCTL_API` void :ref:`DPCTLPlatform_Delete`(:ref:`__dpctl_take` :ref:`DPCTLSyclPlatformRef` PRef); :ref:`DPCTL_API` :ref:`DPCTLSyclBackendType` :ref:`DPCTLPlatform_GetBackend`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclPlatformRef` PRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclContextRef` :ref:`DPCTLPlatform_GetDefaultContext`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclPlatformRef` PRef); :ref:`DPCTL_API` :ref:`__dpctl_give` const char* :ref:`DPCTLPlatform_GetName`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclPlatformRef` PRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLPlatformVectorRef` :ref:`DPCTLPlatform_GetPlatforms`(void); :ref:`DPCTL_API` :ref:`__dpctl_give` const char* :ref:`DPCTLPlatform_GetVendor`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclPlatformRef` PRef); :ref:`DPCTL_API` :ref:`__dpctl_give` const char* :ref:`DPCTLPlatform_GetVersion`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclPlatformRef` PRef); :ref:`DPCTL_API` size_t :ref:`DPCTLPlatform_Hash`(:ref:`__dpctl_keep` :ref:`DPCTLSyclPlatformRef` PRef); :ref:`DPCTL_API` :ref:`__dpctl_give` const char* :ref:`DPCTLPlatformMgr_GetInfo`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclPlatformRef` PRef, size_t verbosity ); :ref:`DPCTL_API` void :ref:`DPCTLPlatformMgr_PrintInfo`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclPlatformRef` PRef, size_t verbosity ); void :ref:`DPCTLPlatformVector_Clear`(:ref:`DPCTLPlatformVectorRef` VRef); :ref:`DPCTLPlatformVectorRef` :ref:`DPCTLPlatformVector_Create`(void); :ref:`DPCTLPlatformVectorRef` :ref:`DPCTLPlatformVector_CreateFromArray`( size_t len, :ref:`DPCTLSyclPlatformRef`* elems ); void :ref:`DPCTLPlatformVector_Delete`(:ref:`DPCTLPlatformVectorRef` VRef); :ref:`DPCTLSyclPlatformRef` :ref:`DPCTLPlatformVector_GetAt`( :ref:`DPCTLPlatformVectorRef` VRef, size_t index ); size_t :ref:`DPCTLPlatformVector_Size`(:ref:`DPCTLPlatformVectorRef` VRef); :ref:`DPCTL_API` bool :ref:`DPCTLQueue_AreEq`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef1, :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef2 ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclQueueRef` :ref:`DPCTLQueue_Copy`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclQueueRef` :ref:`DPCTLQueue_Create`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` CRef, :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef, :ref:`error_handler_callback`* handler, int properties ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclQueueRef` :ref:`DPCTLQueue_CreateForDevice`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef, :ref:`error_handler_callback`* handler, int properties ); :ref:`DPCTL_API` void :ref:`DPCTLQueue_Delete`(:ref:`__dpctl_take` :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_Fill128`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, void* USMRef, uint64_t* Value, size_t Count ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_Fill16`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, void* USMRef, uint16_t Value, size_t Count ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_Fill32`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, void* USMRef, uint32_t Value, size_t Count ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_Fill64`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, void* USMRef, uint64_t Value, size_t Count ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_Fill8`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, void* USMRef, uint8_t Value, size_t Count ); :ref:`DPCTL_API` :ref:`DPCTLSyclBackendType` :ref:`DPCTLQueue_GetBackend`(:ref:`__dpctl_keep` :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclContextRef` :ref:`DPCTLQueue_GetContext`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclDeviceRef` :ref:`DPCTLQueue_GetDevice`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` bool :ref:`DPCTLQueue_HasEnableProfiling`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` size_t :ref:`DPCTLQueue_Hash`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` bool :ref:`DPCTLQueue_IsInOrder`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_MemAdvise`( :ref:`__dpctl_keep` :ref:`DPCTLSyclQueueRef` QRef, const void* Ptr, size_t Count, int Advice ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_Memcpy`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, void* Dest, const void* Src, size_t Count ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_MemcpyWithEvents`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, void* Dest, const void* Src, size_t Count, :ref:`__dpctl_keep` const :ref:`DPCTLSyclEventRef`* DepEvents, size_t DepEventsCount ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_Memset`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, void* USMRef, uint8_t Value, size_t Count ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_Prefetch`( :ref:`__dpctl_keep` :ref:`DPCTLSyclQueueRef` QRef, const void* Ptr, size_t Count ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_SubmitBarrier`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_SubmitBarrierForEvents`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, :ref:`__dpctl_keep` const :ref:`DPCTLSyclEventRef`* DepEvents, size_t NDepEvents ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_SubmitNDRange`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelRef` KRef, :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, :ref:`__dpctl_keep` void** Args, :ref:`__dpctl_keep` const :ref:`DPCTLKernelArgType`* ArgTypes, size_t NArgs, :ref:`__dpctl_keep` const size_t gRange[3], :ref:`__dpctl_keep` const size_t lRange[3], size_t NDims, :ref:`__dpctl_keep` const :ref:`DPCTLSyclEventRef`* DepEvents, size_t NDepEvents ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` :ref:`DPCTLQueue_SubmitRange`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclKernelRef` KRef, :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, :ref:`__dpctl_keep` void** Args, :ref:`__dpctl_keep` const :ref:`DPCTLKernelArgType`* ArgTypes, size_t NArgs, :ref:`__dpctl_keep` const size_t Range[3], size_t NRange, :ref:`__dpctl_keep` const :ref:`DPCTLSyclEventRef`* DepEvents, size_t NDepEvents ); :ref:`DPCTL_API` void :ref:`DPCTLQueue_Wait`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclQueueRef` :ref:`DPCTLQueueMgr_GetCurrentQueue`(void); :ref:`DPCTL_API` size_t :ref:`DPCTLQueueMgr_GetQueueStackSize`(void); :ref:`DPCTL_API` bool :ref:`DPCTLQueueMgr_GlobalQueueIsCurrent`(void); :ref:`DPCTL_API` bool :ref:`DPCTLQueueMgr_IsCurrentQueue`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` void :ref:`DPCTLQueueMgr_PopQueue`(void); :ref:`DPCTL_API` void :ref:`DPCTLQueueMgr_PushQueue`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` void :ref:`DPCTLQueueMgr_SetGlobalQueue`(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclUSMRef` :ref:`DPCTLaligned_alloc_device`( size_t alignment, size_t size, :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclUSMRef` :ref:`DPCTLaligned_alloc_host`( size_t alignment, size_t size, :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclUSMRef` :ref:`DPCTLaligned_alloc_shared`( size_t alignment, size_t size, :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef ); :ref:`DPCTL_API` void :ref:`DPCTLfree_with_context`( :ref:`__dpctl_take` :ref:`DPCTLSyclUSMRef` MRef, :ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` CRef ); :ref:`DPCTL_API` void :ref:`DPCTLfree_with_queue`( :ref:`__dpctl_take` :ref:`DPCTLSyclUSMRef` MRef, :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclUSMRef` :ref:`DPCTLmalloc_device`( size_t size, :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclUSMRef` :ref:`DPCTLmalloc_host`( size_t size, :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef ); :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclUSMRef` :ref:`DPCTLmalloc_shared`( size_t size, :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef ); :ref:`DPCTL_API` :ref:`DPCTLSyclDeviceRef` :ref:`DPCTLUSM_GetPointerDevice`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclUSMRef` MRef, :ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` CRef ); :ref:`DPCTL_API` :ref:`DPCTLSyclUSMType` :ref:`DPCTLUSM_GetPointerType`( :ref:`__dpctl_keep` const :ref:`DPCTLSyclUSMRef` MRef, :ref:`__dpctl_keep` const :ref:`DPCTLSyclContextRef` CRef ); :ref:`DPCTL_C_EXTERN_C_BEGIN` :ref:`DPCTL_API` void :ref:`DPCTLCString_Delete`(:ref:`__dpctl_take` const char* str); :ref:`DPCTL_API` void :ref:`DPCTLSize_t_Array_Delete`(:ref:`__dpctl_take` size_t* arr); // macros #define :target:`DPCTL_C_EXTERN_C_BEGIN` #define :target:`DPCTL_C_EXTERN_C_END` #define :target:`DPCTL_DECLARE_VECTOR`(EL) #define :target:`DPCTL_DECLARE_VECTOR_FN`(EL) #define :ref:`DPCTL_DECLARE_VECTOR_TYPE`(EL) #define :target:`DPCTL_DPCPP_VERSION` #define :target:`DPCTL_ENABLE_L0_PROGRAM_CREATION` #define :target:`DPCTL_LIBCL_LOADER_FILENAME` #define :target:`DPCTL_LIBZE_LOADER_FILENAME` #define :ref:`HUGE_VALF` #define :ref:`INT64_MAX` #define :ref:`INT64_MIN` #define :ref:`UINT64_MAX` #define :target:`__SYCL_COMPILER_VERSION_REQUIRED` #define :ref:`__dpctl_give` #define :ref:`__dpctl_keep` #define :ref:`__dpctl_null` #define :ref:`__dpctl_take` .. _details-global: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Typedefs -------- .. index:: pair: typedef; error_handler_callback .. _doxid-de/d75/dpctl__error__handler__type_8h_1aeb0f262687ced57ead8f8b7d0b7dcefe: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef void error_handler_callback(int err_code) Type of function to be used in SYCL async error handler provide by DPCTL. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - err_code - Error code extracted from an SYCL asynchronous error. .. index:: pair: typedef; MDLocalAccessor .. _doxid-da/db8/dpctl__sycl__queue__interface_8h_1a7779ae83e3fd4db1174768e1ba62f30b: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct :ref:`MDLocalAccessorTy` MDLocalAccessor Structure to be used to specify dimensionality and type of local_accessor kernel type argument. .. index:: pair: typedef; DPCTLSyclContextRef .. _doxid-df/d57/dpctl__sycl__types_8h_1accf78808322af80b73da617cb2f15f08: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct DPCTLOpaqueSyclContext* DPCTLSyclContextRef Opaque pointer to a ``sycl::context`` .. index:: pair: typedef; DPCTLSyclDeviceRef .. _doxid-df/d57/dpctl__sycl__types_8h_1a8dae76b436012ecbdebbd568e77f440d: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct DPCTLOpaqueSyclDevice* DPCTLSyclDeviceRef Opaque pointer to a ``sycl::device`` .. index:: pair: typedef; DPCTLSyclDeviceSelectorRef .. _doxid-df/d57/dpctl__sycl__types_8h_1a50a1c6c98f4ca4a27a88e53a7f3eeb83: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct DPCTLOpaqueSyclDeviceSelector* DPCTLSyclDeviceSelectorRef Opaque pointer to a ``sycl::device_selector`` .. index:: pair: typedef; DPCTLSyclEventRef .. _doxid-df/d57/dpctl__sycl__types_8h_1a42590892ae4324c54f6ddef34009ca03: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct DPCTLOpaqueSyclEvent* DPCTLSyclEventRef Opaque pointer to a ``sycl::event`` .. index:: pair: typedef; DPCTLSyclKernelBundleRef .. _doxid-df/d57/dpctl__sycl__types_8h_1a6d9c52ea7d2e9394ddf7ba7e7f01bebd: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct DPCTLOpaqueSyclKernelBundle* DPCTLSyclKernelBundleRef Opaque pointer to a ``sycl::kernel_bundle`` .. index:: pair: typedef; DPCTLSyclKernelRef .. _doxid-df/d57/dpctl__sycl__types_8h_1a3f6be07fdf695c015719ce0b0c237844: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct DPCTLOpaqueSyclKernel* DPCTLSyclKernelRef Opaque pointer to a ``sycl::kernel`` .. index:: pair: typedef; DPCTLSyclPlatformRef .. _doxid-df/d57/dpctl__sycl__types_8h_1aae750289dcff2c3739f4870086ac7ed0: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct DPCTLOpaqueSyclPlatform* DPCTLSyclPlatformRef Opaque pointer to a ``sycl::platform`` .. index:: pair: typedef; DPCTLSyclQueueRef .. _doxid-df/d57/dpctl__sycl__types_8h_1af23137a8bf20ff63b10db9f7f987799a: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct DPCTLOpaqueSyclQueue* DPCTLSyclQueueRef Opaque pointer to a ``sycl::queue`` .. index:: pair: typedef; DPCTLSyclUSMRef .. _doxid-df/d57/dpctl__sycl__types_8h_1a8c78ad1413045f90e15f5b6a2727d2e6: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct DPCTLOpaqueSyclUSM* DPCTLSyclUSMRef Used to pass a ``sycl::usm`` memory opaquely through DPCTL interfaces. Global Functions ---------------- .. index:: pair: function; DPCTLDevice_GetGlobalMemCacheLineSize .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1ac47e84e08c40272eb54358b6ab76c0f0: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` uint32_t DPCTLDevice_GetGlobalMemCacheLineSize(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the size of global memory cache line in bytes as uint32_t. .. index:: pair: function; DPCTLDevice_GetGlobalMemCacheSize .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1ae4641fb22da8c78a1c5b3c9a0c0fd913: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` uint64_t DPCTLDevice_GetGlobalMemCacheSize(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the size of global memory cache in bytes as uint64_t. .. index:: pair: function; DPCTLDevice_GetGlobalMemCacheType .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1a34aef85cc31edf294aece8d68f5bccba: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` :ref:`DPCTLGlobalMemCacheType` DPCTLDevice_GetGlobalMemCacheType(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the type of global memory cache supported. .. index:: pair: function; DPCTLDevice_GetImage2dMaxHeight .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1a4ef25a38cbf63e618016302e8ebf480d: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` size_t DPCTLDevice_GetImage2dMaxHeight(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info(). .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the maximum height of a 2D image or 1D image in pixels. The minimum value is 8192 if the SYCL device has aspect::image. .. index:: pair: function; DPCTLDevice_GetImage2dMaxWidth .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1ad1f6957fdc5fb51ed873fa444af17c13: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` size_t DPCTLDevice_GetImage2dMaxWidth(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info(). .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the maximum width of a 2D image or 1D image in pixels. The minimum value is 8192 if the SYCL device has aspect::image. .. index:: pair: function; DPCTLDevice_GetImage3dMaxDepth .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1ac64423a160a010d1841b36ae2ab48658: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` size_t DPCTLDevice_GetImage3dMaxDepth(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info(). .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the maximum depth of a 3D image The minimum value is 2048 if the SYCL device has aspect::image. .. index:: pair: function; DPCTLDevice_GetImage3dMaxHeight .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1ac041263954e4e4c2a5bf58eeb08c0b7e: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` size_t DPCTLDevice_GetImage3dMaxHeight(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info(). .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the maximum height of a 3D image The minimum value is 2048 if the SYCL device has aspect::image. .. index:: pair: function; DPCTLDevice_GetImage3dMaxWidth .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1a775e74dcd25c38e1d1575df3262b6f60: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` size_t DPCTLDevice_GetImage3dMaxWidth(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info(). .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the maximum width of a 3D image in pixels. The minimum value is 2048 if the SYCL device has aspect::image. .. index:: pair: function; DPCTLDevice_GetMaxClockFrequency .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1a8a86e895dc25e747f8f4349100d85809: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` uint32_t DPCTLDevice_GetMaxClockFrequency(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the maximum clock frequency in MHz as uint32_t. .. index:: pair: function; DPCTLDevice_GetMaxMemAllocSize .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1ad546933b32f0c9917982f39ddf0be5c6: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` uint64_t DPCTLDevice_GetMaxMemAllocSize(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the maximum size of memory object in bytes as uint64_t. .. index:: pair: function; DPCTLDevice_GetMaxReadImageArgs .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1a9810a239416c53427e3742bfb72ea0a6: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` uint32_t DPCTLDevice_GetMaxReadImageArgs(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info(). .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the maximum number of simultaneous image objects that can be read from by a kernel. The minimum value is 128 if the SYCL device has aspect::image. .. index:: pair: function; DPCTLDevice_GetMaxWriteImageArgs .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1a34dbd5b5dbde22ba5f1d5205de298d81: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` uint32_t DPCTLDevice_GetMaxWriteImageArgs(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info(). .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the maximum number of simultaneous image objects that can be written to by a kernel. The minimum value is 8 if the SYCL device has aspect::image. .. index:: pair: function; DPCTLDevice_GetParentDevice .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1acccdc3f034e6c5fd2a249907355169bc: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclDeviceRef` DPCTLDevice_GetParentDevice(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns an opaque pointer to the parent device for a sub-device, or nullptr otherwise. .. index:: pair: function; DPCTLDevice_GetPartitionMaxSubDevices .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1ab48d25118cd217ccd917993afba98570: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` uint32_t DPCTLDevice_GetPartitionMaxSubDevices(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the maximum number of sub-devices that can be created when this device is partitioned. .. index:: pair: function; DPCTLDevice_GetProfilingTimerResolution .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1a5fe67bf4915e62ce08d80d810f0e8632: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` size_t DPCTLDevice_GetProfilingTimerResolution(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over device.get_info .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns the resolution of device timer in nanoseconds. .. index:: pair: function; DPCTLDevice_Hash .. _doxid-d4/d5a/dpctl__sycl__device__interface_8h_1a28538fa8029a6d4c7ff4d972ec690b97: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` size_t DPCTLDevice_Hash(:ref:`__dpctl_keep` const :ref:`DPCTLSyclDeviceRef` DRef) Wrapper over std::hash's operator() .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - DRef - Opaque pointer to a sycl::device .. rubric:: Returns: Returns hash value. .. index:: pair: function; DPCTLEventVector_Clear .. _doxid-d5/d12/dpctl__sycl__event__interface_8h_1a2533273ef88851620d8778b67af96b40: .. ref-code-block:: cpp :class: doxyrest-title-code-block void DPCTLEventVector_Clear(:ref:`DPCTLEventVectorRef` VRef) Delete all the elements of the std::vector. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - VRef - Opaque pointer to a vector. .. index:: pair: function; DPCTLEventVector_Create .. _doxid-d5/d12/dpctl__sycl__event__interface_8h_1ab5afa80c19843fa1b41973b1e62a178b: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTLEventVectorRef` DPCTLEventVector_Create(void) Create an opaque pointer to a std::vector of opaque pointers wrapping the SYCL data type. .. rubric:: Returns: Returns a new opaque pointer to a vector. .. index:: pair: function; DPCTLEventVector_CreateFromArray .. _doxid-d5/d12/dpctl__sycl__event__interface_8h_1a6f276dcdc80178cf99995b8f5d424023: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTLEventVectorRef` DPCTLEventVector_CreateFromArray( size_t len, :ref:`DPCTLSyclEventRef`* elems ) Create an opaque pointer to a std::vector created from the input raw array. The elements of the input array are deep copied before inserting the copies into the vector. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - len - Number of elements in the input array. * - elems - A C array whose elements will be copied into the returned vector. .. rubric:: Returns: Returns a new opaque pointer to a vector. .. index:: pair: function; DPCTLEventVector_Delete .. _doxid-d5/d12/dpctl__sycl__event__interface_8h_1a5f9bc369029a26d550d30454d44d3af2: .. ref-code-block:: cpp :class: doxyrest-title-code-block void DPCTLEventVector_Delete(:ref:`DPCTLEventVectorRef` VRef) Delete all elements in the vector and then delete the vector. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - VRef - Opaque pointer to a vector to be deleted. .. index:: pair: function; DPCTLEventVector_GetAt .. _doxid-d5/d12/dpctl__sycl__event__interface_8h_1add811579bc4037c70d2e21ea10473310: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTLSyclEventRef` DPCTLEventVector_GetAt( :ref:`DPCTLEventVectorRef` VRef, size_t index ) Returns the element at the specified index. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - VRef - Opaque pointer to a vector. * - index - The index position of the element to be returned. .. rubric:: Returns: The element at the specified position, if the index position is out of bounds then a nullptr is returned. .. index:: pair: function; DPCTLEventVector_Size .. _doxid-d5/d12/dpctl__sycl__event__interface_8h_1a52a48c99dd11d8591efaf6b2d55450fc: .. ref-code-block:: cpp :class: doxyrest-title-code-block size_t DPCTLEventVector_Size(:ref:`DPCTLEventVectorRef` VRef) Returns the number of elements in the vector. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - VRef - Opaque pointer to a vector. .. rubric:: Returns: The current size of the vector. .. index:: pair: function; DPCTLQueue_SubmitBarrier .. _doxid-da/db8/dpctl__sycl__queue__interface_8h_1a2453786e50a7d7e51a0d240b2ce52f53: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` DPCTLQueue_SubmitBarrier(:ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef) C-API wrapper for ``sycl::queue::submit_barrier()``. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - QRef - An opaque pointer to the ``sycl::queue``. .. rubric:: Returns: An opaque pointer to the ``sycl::event`` returned by the ``sycl::queue::submit_barrier()`` function. .. index:: pair: function; DPCTLQueue_SubmitBarrierForEvents .. _doxid-da/db8/dpctl__sycl__queue__interface_8h_1a1666c1e2da52e7736cfc662a7c0ad6fb: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` :ref:`__dpctl_give` :ref:`DPCTLSyclEventRef` DPCTLQueue_SubmitBarrierForEvents( :ref:`__dpctl_keep` const :ref:`DPCTLSyclQueueRef` QRef, :ref:`__dpctl_keep` const :ref:`DPCTLSyclEventRef`* DepEvents, size_t NDepEvents ) C-API wrapper for ``sycl::queue::submit_barrier(event_vector)``. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - QRef - An opaque pointer to the ``sycl::queue``. * - DepEvents - List of dependent DPCTLSyclEventRef objects (events) for the barrier. We call ``sycl::handler.depends_on`` for each of the provided events. * - NDepEvents - Size of the DepEvents list. .. rubric:: Returns: An opaque pointer to the ``sycl::event`` returned by the ``sycl::queue::submit_barrier()`` function. .. index:: pair: function; DPCTLCString_Delete .. _doxid-da/d48/dpctl__utils_8h_1a33267597953b5a15fc3a052e0d09ef06: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_C_EXTERN_C_BEGIN` :ref:`DPCTL_API` void DPCTLCString_Delete(:ref:`__dpctl_take` const char* str) Deletes the C String argument. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - str - C string to be deleted .. index:: pair: function; DPCTLSize_t_Array_Delete .. _doxid-da/d48/dpctl__utils_8h_1a8666dbbe5583326eb3b57293be168ffc: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DPCTL_API` void DPCTLSize_t_Array_Delete(:ref:`__dpctl_take` size_t* arr) Deletes an array of size_t elements. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - arr - Array to be deleted. Macros ------ .. index:: pair: define; DPCTL_DECLARE_VECTOR_TYPE .. _doxid-d4/d64/dpctl__vector_8h_1a83a0669601a2adec6b227cc2276a1538: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define DPCTL_DECLARE_VECTOR_TYPE(EL) Declare an opaque pointer type for a std::vector of opaque pointers wrapping SYCL data types. .. index:: pair: define; HUGE_VALF .. _doxid-dd/d1c/dpctl__data__types_8h_1acd69981d54c27fe0ff514645dbfc6359: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define HUGE_VALF Represents a positive expression of type float. .. index:: pair: define; INT64_MAX .. _doxid-dd/d1c/dpctl__data__types_8h_1ad0d744f05898e32d01f73f8af3cd2071: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define INT64_MAX Represents the largest possible value of a 64 bit signed integer. .. index:: pair: define; INT64_MIN .. _doxid-dd/d1c/dpctl__data__types_8h_1ab21f12f372f67b8ff0aa3432336ede67: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define INT64_MIN Represents the smallest possible value of a 64 bit signed integer. .. index:: pair: define; UINT64_MAX .. _doxid-dd/d1c/dpctl__data__types_8h_1a30654b4b67d97c42ca3f9b6052dda916: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define UINT64_MAX Represents the largest possible value of a 64bit unsigned integer.