Data Parallel C++: The oneAPI Implementation of SYCL*
Cross-Architecture
- SYCL* is an alternative to single-vendor proprietary accelerator programming languages
- Allows code reuse across hardware targets (CPU and GPU) and supports custom tuning for a specific platform
- SYCL is a Khronos* standard that adds data parallelism and heterogeneous programming to familiar and standard ISO C++
An Implementation of SYCL
- DPC++ is one of the compiler implementations
Intel® oneAPI DPC++/C++ Compiler
Companion Intel® oneAPI DPC++ Library
oneAPI Initiative
- oneAPI uses the SYCL framework and combines it with compilers, APIs, libraries, tools, and code samples.
- Delivers a rich catalog of SYCL and oneAPI fully enabled applications with the achievable vision of ubiquitous multiarchitecture and multivendor computing.
- It is governed by the Unified Acceleration Foundation (UXL).
An Awesome List of oneAPI Projects
Open Community Project
- oneAPI is an open source LLVM* technology implementation with SYCL at its center.
- API extensions are driven by open and cooperative community development.
- Once proven, these enhancements are proposed to the parent specifications (C++ or SYCL) for implementation.
LLVM-based Projects from Intel
Learn the Basics of SYCL
SYCL is an open alternative to single-architecture proprietary languages. It allows developers to reuse code across hardware targets (CPUs and accelerators such as GPUs) and also perform custom tuning for a specific accelerator. These code walkthroughs introduce you to basic principles and practices of SYCL programming. To continue learning about SYCL and Intel’s integration of this new programming language into the Intel ® oneAPI toolkits, see More Ways to Learn.
Get SYCL Tools with the Intel® oneAPI Toolkit
The Intel® oneAPI Toolkit is a core set of tools and libraries for developing high-performance, data-centric applications across diverse architectures. This foundational set of tools and libraries includes:
- Familiar tools and languages
- Advanced analysis and debugging tools
- Intel® DPC++ Compatibility Tool for CUDA code migration