SYCL WG State of the Union 2020 - Khronos Group
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
SYCL WG State of the Union 2020 Michael Wong SYCL WG Chair Codeplay VP of R&D ISOCPP Director & VP ISO C++ Directions Group Chair michael@codeplay.com | wongmichael.com/about This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2020 - Page 1
Acknowledgement and Disclaimer Numerous people internal and external to the original C++/Khronos group, in industry and academia, have made contributions, influenced ideas, written part of this presentations, and offered feedbacks to form part of this talk. But I claim all credit for errors, and stupid mistakes. These are mine, all mine! You can’t have them. This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2020 - Page 2
Khronos Active Initiatives and where does SYCL fit 3D Graphics 3D Assets Portable XR Parallel Computation Desktop, Mobile, Web Authoring Augmented and Vision, Inferencing, Embedded and Safety Critical and Delivery Virtual Reality Machine Learning Guidelines for creating APIs to streamline system safety certification This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2020 - Page 4
SYCL Single Source C++ Parallel Programming Complex ML frameworks can be directly compiled SYCL-BLAS, SYCL-DNN, Standard C++ C++ ML and accelerated Eigen, Application oneAPI libraries Libraries Frameworks Code C++ Template C++ Template C++ Template C++ templates and lambda functions separate host & Libraries Libraries Libraries accelerated device code SYCL Compiler CPU C++ Kernel Fusion can for OpenCL Compiler give better performance on complex apps and libs than hand-coding CPU Accelerated code passed into device CPU CPU GPU SYCL is ideal for accelerating larger CPU GPU OpenCL compilers C++-based engines and applications FPGA DSP with performance portability AI/Tensor HW Custom Hardware © Copyright Khronos® Group Inc. 2020 Page 5
SYCL Implementations SYCL, OpenCL and SPIR-V, as open industry standards, enable flexible integration and deployment of multiple acceleration technologies SYCL Source Code DPC++ ComputeCpp triSYCL hipSYCL Uses SYCL 1.2.1 on SYCL 1.2.1 on Open source LLVM/clang multiple CUDA & test bed Part of oneAPI hardware HIP/ROCm Ex pe rim Experimental en ta l Any CPU CUDA+PTX Any CPU OpenCL+PTX OpenMP OpenMP CUDA NVIDIA GPUs NVIDIA GPUs Any CPU Any CPU NVIDIA GPUs OpenCL + OpenCL + OpenCL + ROCm SPIR-V SPIR(-V) SPIR/LLVM AMD GPUs Intel CPUs Intel CPUs XILINX FPGAs Intel GPUs Intel GPUs POCL Multiple Backends in Intel FPGAs Intel FPGAs (open source OpenCL supporting AMD GPUs CPUs and NVIDIA GPUs and more) Development (depends on driver stack) SYCL beginning to be supported on multiple low- Arm Mali level APIs in addition to OpenCL IMG PowerVR e.g. ROCm and CUDA Renesas R-Car For more information: http://sycl.tech This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2020 - Page 6
SYCL Past up to 2017 SYCL 1.2.1 Work with industry to bring C++11 C++14 C++17 Heterogeneous compute to standard ISO C++ SYCL 1.2 SYCL 1.2.1 C++11 Single source C++11 Single source OpenCL ‘Next’ programming programming Flexible and efficient deployment of parallel computation across diverse processor architectures 2011 2015 2017 OpenCL 1.2 OpenCL 2.1 OpenCL 2.2 OpenCL C Kernel SPIR-V in Core C++ Kernel Language Language © Copyright Khronos™ Group 2018 - Page 7
SYCL Present and Future Roadmap (May Change) C++11 C++14 C++17 C++20 C++23 SYCL 1.2 SYCL 1.2.1 SYCL 2020 SYCL 2021-? C++11 Single source C++11 Single source C++17 Single source C++20 Single source programming programming programming programming Many backend options Many backend options 2011 2015 2017 2020 2021-????? OpenCL 1.2 OpenCL 2.1 OpenCL 2.2 OpenCL 3.0 OpenCL C Kernel SPIR-V in Core Language © Copyright Khronos™ Group 2018 - Page 8
Contributors (Thank you, SYCL WG!) • • Andrew Richards (CP), Michael Wong (CP), • Ronan Keryell (Xilinx) • Brian Sumner (AMD), • Ruyman Reyes (CP) • Alexey Bader (Intel), • Steffen Larsen (CP) • James Brodman (Intel), • Stuart Adams (CP) • Mike Kinsner (Intel), • Alex Johnston (CP) • John Pennycook (Intel), • Tomas Matheson (CP) • Victor Lezaud (Xilinx) • Roland Schulz (Intel), • Ilya Burylov (Intel), • Sébastien Le Duc (Kalray) • Jeff Hammond (Intel), • Kévin Petit (ARM) • Ben Ashbaugh (Intel), • Anastasia Stulova (ARM) • Andrew Gozillon (Xilinx), • Nevin Liber (ANL) • Aksel Alpay (Self), • Brian Homerding (ANL) • Daniel Berenyi (Self), • Hal Finkel (ANL) • Máté Nagy-Egri • Neil Trevett (Khronos) (StreamHPC), • Tom Deakin (U of Bristol) • Gordon Brown (CP), • Ruihao Zhang(Qualcomm) • Biagio Cosenza (Salerno) • Victor Lomüller (CP), • Peter Žužek (CP), • And many others • + YOU on GitHub !
Commits by year/month (thanks Ronan Keryell, Xilinx) SYCL-2020... SYCL-1.2 SYCL-1.2.1 (SYCL-2.2) SYCL-1.2-prov
Top committers
Agenda 1. SYCL Past Present future 2. SYCL 2020 3. SYCL ecosystem
Extending SYCL to the future This is a preview and describes work in progress. The content mightWILL change. Some of these features have not been merged.
GitHub/Gitlab open-source collaboration Your great contributions Our IP-secret sauce, to be open- This work is licensed under a Creative Commons Attribution 4.0 International License sourced after ratification © The Khronos ® Group Inc. 2020 - Page 15
SYCL 2020 compared with SYCL 1.2.1 SYCL Evolution ● ● Easier to integrate with C++17 (CTAD, Deduction Guides,...) Less verbose, smaller code size, simplify patterns SYCL 2020 potential Features ● Backend independent Generalization (a.k.a the Backend Model) presented by Gordon Brown ● Multiple object archives aka modules simplify interoperability ● Ease porting C++ applications to SYCL Unified Shared Memory (USM) presented by James Brodman ● Enable capabilities to improve programmability ● Backwards compatible but Minor API break based on user Improvement to Program class Modules presented by Gordon Brown feedback Host Task with Interop presented by Gordon Brown Converge SYCL with ISO Integrationof successful In order queues, presented by James Brodman Extensions plus new Core C++ and continue to functionality support OpenCL on more devices CPU SYCL 2020 Roadmap (WIP, MAY CHANGE) GPU FPGA AI processors Improving Software Ecosystem Target 2020 Custom Processors 2017 Tool, libraries, GitHub Provisional Q3 then Final Q4 SYCL 1.2.1 Expanding Implementation DPC++ ComputeCPP Selected Extension Pipeline aiming for triSYCL SYCL 2020 Provisional Q3 hipSYCL Reduction Regular Maintenance Updates Subgroups Spec clarifications, formatting and bug fixes Accessor simplification https://www.khronos.org/registry/SYCL/ Atomic rework Extension mechanism Address spaces Repeat The Cycle every Vector rework 1.5-3 years Specialization Constants This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2020 - Page 16
Agenda 1. SYCL Past Present future 2. SYCL 2020 3. SYCL ecosystem
SYCL Ecosystem, Research and Benchmarks Machine Learning Implementations Research Benchmarks Linear Algebra Libraries and Parallel Libraries Acceleration Frameworks SYCL-BLAS oneAPI Eigen SYCL-ML SYCL-DNN oneMKL SYCL Parallel STL RSBench Active Working Group Members This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2020 - Page 18
SYCL, Aurora and Exascale computing SYCL can run on AMD ROCM This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2020 - Page 19
SYCL future and C++ roadmap Integrated more tightly with ISO C++, members attending both This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2020 - Page 20
SYCL 2020 provisional is coming • In a few months, SYCL 2020 provisional will be released • We need your feedback asap - https://app.slack.com/client/TDMDFS87M/CE9UX4CHG - https://community.khronos.org/c/sycl/ - https://sycl.tech/ • What features are you looking for that is not in SYCL 2020? • What feature would you like to aim for in future SYCL? • How do you join SYCL? This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2020 - Page 21
Open to all! https://community.khronos.org/www.khr.io/slack https://app.slack.com/client/TDMDFS87M/CE9UX4CHG Engaging with the Khronos SYCL Ecosystem https://community.khronos.org/c/sycl/ https://stackoverflow.com/questions/tagged/sycl https://www.reddit.com/r/sycl $0 https://github.com/codeplaysoftware/syclacademy https://sycl.tech/ Spec fixes and suggestions made under the Khronos IP Framework. Open source contributions under repo’s CLA – typically Apache 2.0 $0 https://github.com/KhronosGroup Khronos SYCL Forums, Slack https://github.com/KhronosGroup/SYCL-CTS Channels, stackoverflow, reddit, and https://github.com/KhronosGroup/SYCL-Docs SYCL.tech https://github.com/KhronosGroup/SYCL-Shared https://github.com/KhronosGroup/SYCL-Registry https://github.com/KhronosGroup/SyclParallelSTL Contribute to SYCL open source $0 Invited Advisors under the Khronos NDA and IP Framework can comment and contribute specs, CTS, tools and ecosystem to requirements and draft specifications https://www.khronos.org/advisors/ SYCL Advisory $ Khronos members under Khronos NDA and IP Panels Framework participate and vote in working group meetings. Starts at $3.5K/yr. SYCL https://www.khronos.org/members/ Working https://www.khronos.org/registry/SYCL/ Groups Any member or non- member can propose a new SYCL feature or fix This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2020 - Page 22
Thank You! • Khronos SYCL is creating cutting-edge royalty-free open standard - For C++ Heterogeneous compute, vision, inferencing acceleration • Information on Khronos SYCL Standards: https://www.khronos.org/sycl/ • Any entity/individual is welcome to join Khronos SYCL: https://www.khronos.org/members/ • Join the SYCLCon Tutorial Monday and Wednesday Live panel : Wednesday Apr 29 15:00-18:00 GMT - Have your questions answered live by a group of SYCL experts • Michael Wong: michael@codeplay.com | wongmichael.com/about Gain early insights Influence the design and direction Accelerate your time-to- into industry trends of key open standards that will market with early access to and directions drive your business specification drafts Gather industry Draft Specifications Publicly Release requirements for future Confidential to Khronos Specifications and open standards members Conformance Tests Network with domain experts State-of-the-art IP Framework Enhance your company reputation from diverse companies in your protects your Intellectual as an industry leader through industry Property Khronos participation Benefits of Khronos membership This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2020 - Page 23
You can also read