Khronos Group President, Neil Trevett, shares how open standards have an important role mitigating the complexities of safety-critical certification in a confusing landscape of processors, accelerators, compilers, APIs, and libraries, that drive up integration costs for embedded accelerators, which in turn has constrained innovation and time-to-market efficiencies.
The Khronos Group has issued a Request for Proposals for SYCL 2020 CTS. This project will improve the existing SYCL Conformance Test Suite (CTS) targeting the SYCL 2020 standard specification in two ways:
- improved test coverage of SYCL 2020 tests;
- CTS Framework refactoring to reduce development barriers to creating and deploying new tests.
The work described in this RFP covers 6 months of work aiming for breadth-first coverage, with the possibility of extension at the WG’s discretion for further depth coverage
RFP responses are requested by 5p.m. PT on Monday July 25, 2022.
In this article, James Brodman and John Pennycook review five outstanding additions found in SYCL 2020. A key goal of SYCL 2020 is to align SYCL with ISO C++, which has two benefits. First, it ensures that SYCL feels natural to C++ programmers. Second, it allows SYCL to act as a proving ground for multivendor, multiarchitecture solutions to heterogeneous programming that may inform other C++ libraries (and perhaps ISO C++ itself).
Many of the syntactic changes in SYCL 2020 are a result of updating the base language from C++11 to C++17, enabling developers to take advantage of features such as class template argument deduction (CTAD) and deduction guides. But there are many new features, too! In this article, we choose to highlight five features new in SYCL 2020 and talk a little about why they matter.
- Backends open the door for SYCL implementations built on other languages/frameworks besides OpenCL, enabling SYCL to target a wider variety of hardware.
- Unified shared memory (USM) is a pointer-based access model, which serves as an alternative to the buffer/accessor model from SYCL 1.2.1.
- Reductions are a common programming pattern, which SYCL 2020 accelerates via a “built-in” library.
- The group library provides abstractions for cooperative work items, yielding additional application performance and programmer productivity through alignment with underlying hardware capabilities (regardless of vendor).
- Atomic references aligned with the C++20 std::atomic_ref extend the C++ memory model to heterogeneous devices.
The Khronos SYCL Working Group is asking for your feedback on SYCL and the SYCL ecosystem. No matter your experience with SYCL, we’d love to hear from you. This includes using SYCL via another API, a library or framework, DPC++ in oneAPI, or some other means. The results will help us tailor the support of the SYCL ecosystem and prioritize future directions for SYCL Next. Please complete the Khronos SYCL Developer Feedback Survey
Join us to help drive the evolution of Machine Learning acceleration standards. ML developers lament the growing fragmentation in the ML ecosystem. Khronos knows that open and royalty-free standards can play an essential role in reducing fragmentation, reducing costs, and providing the industry participants the opportunity to grow. Based on feedback from previous summit and discussions, Khronos is creating a coalition of interested parties to meet the needs of the ML community for hardware acceleration.
Today, The Khronos Group has announced a call for participation in a new exploratory forum to examine the need for an API that leverages the widely adopted SYCL standard for safety-critical industries such as automotive, avionics, medical, and industrial markets. The new SYCL SC Exploratory Forum is open to all at no cost, including non-Khronos members, and has been created to gather requirements for a high-level abstraction API for safety-critical heterogeneous computing.
Participation is free and open to all safety-critical markets. All participants will be able to discuss use cases and requirements for a unified parallel programming interface for C++ to accelerate market growth. This API would be designed to reduce development and certification costs in safety-critical markets where using the SYCL higher-level programming model could improve programming productivity. If the Exploratory Forum reaches a significant consensus then Khronos will work to initiate a formal Working Group to develop SYCL SC specifications.
Michael Wong, Chair of the SYCL Working Group, and Intel’s James Reinders offer their perspectives on these key questions about SYCL:
- Elephant 1: Aren’t GPUs enough? Do other accelerators really matter?
- Elephant 2: Why not just use Nvidia CUDA?
- Elephant 3: Why not just use AMD HIP?
- Elephant 4: Why not just use OpenCL?
- Elephant 5: Can’t we just use C++ ?
- Elephant 6: Can SYCL queues can make it into ISO C++?
- Elephant 7: Who is behind SYCL? Is it really Open in the true sense of the word?
- Elephant 8: I see a herd of elephants – why should I believe in SYCL?
Intel recently released the oneAPI 2022 toolkits with new capabilities including the world’s first unified compiler implementing C++, SYCL and Fortran, data parallel Python for CPUs and GPUs, advanced accelerator performance modeling and tuning, and performance acceleration for AI and ray tracing visualization workloads.
Fresh from SC21, Rod Burns of Codeplay reviews SYCL activities at the conference and how researchers are increasingly switching over to SYCL for their HPC needs.
James Reinders from Intel considers how SYCL will contribute to a heterogeneous future for C++ and digs into SYCL from multiple angles. In this informative article he offers suggestions and tips on how to learn more.
The Khronos Group will be hosting a SYCL Webinar on December 7, 2021. The webinar will be technical in nature and is aimed at both existing SYCL users and HPC developers looking to hear about the very latest updates on the SYCL standard and it’s supporting ecosystem. The agenda is packed full with leading experts in the field. It is free to attend, and there will be a Q&A session at the end to answer any questions you may have.
oneAPI’s open, unified, cross-architecture programming model lets users run a single software abstraction on heterogeneous hardware platforms that contain CPUs, GPUs, and other accelerators across multiple vendors. Central to oneAPI is the Data Parallel C++ (DPC++) project that brings Khronos SYCL to LLVM to support data parallelism and heterogeneous programming within a single source code application. SYCL is a royalty-free, cross-platform abstraction layer built entirely on top of ISO C++, which eliminates concerns about applications being locked in to proprietary systems and software.
Codeplay has been awarded a contract by Argonne National Laboratory and Oak Ridge National Laboratory to implement the oneAPI DPC++ compiler, an implementation of the SYCL open standard, to support AMD GPU-based, high-performance compute (HPC) supercomputers.