DPC++ Documentation¶
Using oneAPI DPC++ for Application Development¶
- Getting Started with oneAPI DPC++
- Getting Started (Japanese)
- Users Manual
- Example: SYCL device code compilation
- Preprocessor Macros
- CUDA backend for DPC++
- Extensions
- SYCLcompat
- Frequently Asked Questions
- Environment Variables
- Considerations for programming to multi-tile and multi-card under Level-Zero backend
- SYCL Graph Usage Guide and Examples
Design Documents for the oneAPI DPC++ Compiler¶
- Clang Documentation
- oneAPI DPC++ Compiler and Runtime architecture design
- SYCL Kernel Parameter Handling and Array Support
- The DPC++ Runtime Plugin Interface.
- Specialization constants
- A brief overview of kernel and program caching mechanism
- Global objects in DPC++ runtime
- Linked allocations
- Assert feature
- Dynamic linking of device code
- Behavior for optional kernel features
- Parallel For Range Rounding
- SYCL Instrumentation
- ITT annotations support
- Implementation design for “device_global”
- Implementation design for compile time constant properties
- Implementation design for “Host Pipes”
- ESIMD “stateless” accessors support design
- Explicit SIMD design notes
- Implementation design for “device_if” and “device_architecture”
- User driven Kernel Fusion
- Non-Relocatable Device Code
- Implementation design for
sycl::any_device_has
andsycl::all_devices_have
- Implementation Design for Device Configuration File
- Propagation of optimization levels used by front-end compiler to backend
- SYCL Native CPU
- Compiler and runtime options
- Supported features and current limitations
- Vectorization
- Technical details
- Command-Graph Extension
- Proposed design for offloading model
sycl_ext_oneapi_private_alloca
- New OpenCL Extensions
- New SPIR-V Extensions