▼The Plugin Interface | |
CUDA Plugin | |
HIP Plugin | |
Level Zero Plugin | |
OpenCL Plugin | |
▼DPC++ Explicit SIMD API | This is a low-level API providing direct access to Intel GPU hardware features |
Systolic Array APIs. | APIs below are used to implement dot product accumulate systolic functions |
▼ESIMD core. | Core APIs defining main vector data types and their interfaces |
C++ binary operators overloads for ESIMD. | Standard C++ binary operators overloads applicable to simd_obj_impl derivatives - simd , simd_mask , simd_view and their combinations |
Alignment control. | Alignment type tags and related APIs for use with ESIMD memory access operations |
Main vector data types. | ESIMD defines the following two main vector data types: |
▼Memory access API. | ESIMD APIs to access memory via accessors, USM pointers, perform per-element atomic operations |
Atomic memory access. | Memory access functions which perform per-lane atomic update using given operation |
Shared local memory access functions. | |
Block load/prefetch/store functions. | |
LSC-specific memory access APIs. | This group combines types and functions specific to LSC, which is available in Intel GPUs starting from PVC and ACM |
Named barrier APIs. | |
HW thread . | |
Raw send APIs. | Implements the send instruction to send messages to variaous components of the Intel(R) processor graphics, as defined in the documentation at https://www.intel.com/content/www/us/en/docs/graphics-for-linux/developer-reference/1-0/hardware-specs.html |
▼ESIMD math operations. | Defines math operations on ESIMD vector data types |
Hardware-accelerated math. | This is a group of APIs implementing standard math operations which are also directly supported by the hardware |
Sycl_esimd_logical | |
Bit and mask manipulation APIs. | |
Explicit conversions. | Defines explicit conversions (with and without saturation), truncation etc |
Raw send APIs. | Implements the send instruction to send messages to variaous components of the Intel(R) processor graphics, as defined in the documentation at https://www.intel.com/content/www/us/en/docs/graphics-for-linux/developer-reference/1-0/hardware-specs.html |
Miscellaneous ESIMD convenience functions. | |
▼DPC++ User API | |
Device selectors | Device selectors enable DPC++ runtime to choose the best devices based on heuristics specified by the user, or by one of the built-in selectors |
Accessors | Specify aquisition and release of buffer and image data structures |
DPC++ Execution Graph | SYCL, unlike OpenCL, provides a programming model in which the user doesn't need to manage dependencies between kernels and memory explicitly |