Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
What to Upload to SlideShare
Loading in …3
×
1 of 14

SYCL 2020 Specification

1

Share

Download to read offline

The Official Khronos Group SYCL 2020 Specification

Related Books

Free with a 30 day trial from Scribd

See all

SYCL 2020 Specification

  1. 1. © The Khronos® Group Inc. 2021 - Page 1 This work is licensed under a Creative Commons Attribution 4.0 International License SYCL 2020 Specification Release Michael Wong SYCL WG Chair Codeplay Distinguished Engineer ISOCPP Director & VP ISO C++ Directions Group michael@codeplay.com | wongmichael.com/about
  2. 2. © The Khronos® Group Inc. 2021 - Page 2 This work is licensed under a Creative Commons Attribution 4.0 International License Open, royalty-free interoperability standards to harness the power of GPU, multiprocessor and XR hardware 3D graphics, augmented and virtual reality, parallel programming, inferencing and vision acceleration Non-profit, member-driven standards organization, open to any company Well-defined multi-company governance and IP Framework Founded in 2000 >150 Members ~ 40% US, 30% Europe, 30% Asia Khronos Connects Software to Silicon
  3. 3. © The Khronos® Group Inc. 2021 - Page 3 This work is licensed under a Creative Commons Attribution 4.0 International License Khronos Active Initiatives 3D Graphics Desktop, Mobile and Web 3D Assets Authoring and Delivery Portable XR Augmented and Virtual Reality Parallel Computation Vision, Inferencing, Machine Learning Safety Critical APIs
  4. 4. © The Khronos® Group Inc. 2021 - Page 4 This work is licensed under a Creative Commons Attribution 4.0 International License Khronos Compute Acceleration Standards GPU GPU rendering + compute acceleration Heterogeneous compute acceleration Single source C++ programming with compute acceleration Graph-based vision and inferencing acceleration Lower-level APIs Direct Hardware Control Intermediate Representation (IR) supporting parallel execution and graphics Higher-level Languages and APIs Streamlined development and performance portability GPU FPGA DSP Custom Hardware GPU CPU CPU CPU AI/Tensor HW Increasing industry interest in parallel compute acceleration to combat the ‘End of Moore’s Law’ SYCL and SPIR were originally OpenCL sub projects
  5. 5. © The Khronos® Group Inc. 2021 - Page 5 This work is licensed under a Creative Commons Attribution 4.0 International License SYCL 2020 Launch! Open Standard for Single Source C++ Parallel Programming SYCL 2020 is released after 3 years of intense work Significant adoption in Embedded, Desktop and HPC markets Improved programmability, smaller code size, faster performance Based on C++17, backwards compatible with SYCL 1.2.1 Simplify porting of standard C++ applications to SYCL Closer alignment and integration with ISO C++ Backend acceleration API independent SYCL 2020 increases expressiveness and simplicity for modern C++ heterogeneous programming
  6. 6. © The Khronos® Group Inc. 2021 - Page 6 This work is licensed under a Creative Commons Attribution 4.0 International License SYCL 2020 Industry Momentum https://www.alcf.anl.gov/support-center/aurora/sycl-and-dpc-aurora https://www.embeddedcomputing.com/technology/open-source/risc-v-open-source-ip/nsitexe-kyoto-microcomputer-and-codeplay-software-are-bringing-open-standards-programming-to-risc-v-vector-processor-for-hpc-and-ai-systems https://www.nextplatform.com/2021/02/03/can-sycl-slice-into-broader-supercomputing/ https://www.phoronix.com/scan.php?page=news_item&px=hipSYCL-New-Lite-Runtime https://software.intel.com/content/www/us/en/develop/articles/interoperability-dpcpp-sycl-opencl.html https://www.renesas.com/br/en/about/press-room/renesas-electronics-and-codeplay-collaborate-opencl-and-sycl-adas-solutions https://www.nersc.gov/news-publications/nersc-news/nersc-center-news/2021/nersc-alcf-codeplay-partner-on-sycl-for-next-generation-supercomputers/ https://research-portal.uws.ac.uk/en/publications/trisycl-for-xilinx-fpga https://www.imaginationtech.com/news/press-release/tensorflow-gets-native-support-for-powervr-gpus-via-optimised-open-source-sycl-libraries/ SYCL support growing from Embedded Systems through Desktops to Supercomputers
  7. 7. © The Khronos® Group Inc. 2021 - Page 7 This work is licensed under a Creative Commons Attribution 4.0 International License SYCL 2020 Major Features • Unified Shared Memory (USM) • Code with pointers can work naturally without buffers or accessors • Parallel Reductions • Added built-in reduction operation to avoid boilerplate code and achieve maximum performance on hardware with built-in reduction operation acceleration • Work group and subgroup algorithms • Efficient parallel operations between work items • Class template argument deduction (CTAD) and template deduction guides • Simplified class template instantiation • Simplified use of Accessors with a built-in reduction operation • Reduces boilerplate code and streamlines the use of C++ software design patterns • Expanded interoperability • Efficient acceleration by diverse backend acceleration APIs • SYCL atomic operations are now more closely aligned to standard C++ atomics • Enhances parallel programming freedom
  8. 8. © The Khronos® Group Inc. 2021 - Page 8 This work is licensed under a Creative Commons Attribution 4.0 International License SYCL Single Source C++ Parallel Programming GPU FPGA DSP Custom Hardware GPU CPU CPU CPU Standard C++ Application Code C++ Libraries ML Frameworks C++ Template Libraries C++ Template Libraries C++ Template Libraries SYCL Compiler CPU Compiler CPU One-MKL One-DNN OneDPC SYCL-BLAS SYCL-Eigen SYCL-DNN SYCL Parallel STL ... C++ templates and lambda functions separate host & accelerated device code Accelerated code passed into device OpenCL compilers Complex ML frameworks can be directly compiled and accelerated SYCL is ideal for accelerating larger C++-based engines and applications with performance portability C++ Kernel Fusion can give better performance on complex apps and libs than hand-coding AI/Tensor HW GPU FPGA DSP Custom Hardware GPU CPU CPU CPU AI/Tensor HW Other Backends
  9. 9. © The Khronos® Group Inc. 2021 - Page 9 This work is licensed under a Creative Commons Attribution 4.0 International License Parallel Industry Initiatives 2011 OpenCL 1.2 OpenCL C Kernel Language OpenCL 2.1 SPIR-V in Core 2015 OpenCL 2.2 2017 2020 202X SYCL 1.2 C++11 Single source programming SYCL 1.2.1 C++11 Single source programming SYCL 2020 C++17 Single source programming Many backend options SYCL 202X C++20 Single source programming Many backend options C++11 C++14 C++17 C++20 OpenCL 3.0 C++23
  10. 10. © The Khronos® Group Inc. 2021 - Page 10 This work is licensed under a Creative Commons Attribution 4.0 International License SYCL Implementations in Development Multiple Backends in Development SYCL beginning to be supported on multiple low-level APIs in addition to OpenCL e.g., ROCm and CUDA For more information: http://sycl.tech Source Code DPC++ Uses LLVM/Clang Part of oneAPI ComputeCpp Multiple Backends triSYCL Open source test bed hipSYCL CUDA and HIP/ROCm Any CPU OpenCL + SPIR-V Any CPU OpenCL + SPIR(-V) OpenCL+PTX Intel CPUs Intel GPUs Intel FPGAs Intel CPUs Intel GPUs Intel FPGAs AMD GPUs (depends on driver stack) Arm Mali IMG PowerVR Renesas R-Car NVIDIA GPUs Experim ental OpenMP OpenCL + SPIR/LLVM XILINX FPGAs POCL (open-source OpenCL supporting CPUs and NVIDIA GPUs and more) Any CPU Experimental OpenMP ROCm CUDA AMD GPUs NVIDIA GPUs Any CPU CUDA+PTX NVIDIA GPUs SYCL enables Khronos to influence ISO C++ to (eventually) support heterogeneous compute SYCL, OpenCL and SPIR-V, as open industry standards, enable flexible integration and deployment of multiple acceleration technologies VEO Intel CPUs NEC VEs neoSYCL SX-AURORA TSUBASA
  11. 11. © The Khronos® Group Inc. 2021 - Page 11 This work is licensed under a Creative Commons Attribution 4.0 International License Sensor Data Training Data Trained Networks Neural Network Training C++ Application Code SYCL in Embedded Systems Compilation Ingestion FPGA DSP Dedicated Hardware GPU Vision / Inferencing Engine Compiled Code Hardware Acceleration APIs Diverse Embedded Hardware Multi-core CPUs, GPUs DSPs, FPGAs, Tensor Cores * Vulkan only runs on GPUs Applications link to compiled inferencing code or call vision/inferencing API Networks trained on high-end desktop and cloud systems Open industry standards, enable flexible integration and deployment of multiple acceleration technologies
  12. 12. © The Khronos® Group Inc. 2021 - Page 12 This work is licensed under a Creative Commons Attribution 4.0 International License Choose Algorithm for target Simulation HPC Languages Solver Libraries, Parallel RT C++ Application uses SYCL, Kokkos, Raja SYCL in HPC/Supercomputers CUDA/pthreads/ OpenACC/OpenCL OpenMP for C and Fortran Need Languages that allow control of these Data Issues Set Data affinity, Data Layout, Data movement, Data Locality, highly Parameterized Code and dynamically compose the algorithms (C++ templates, parallel STL, inlining and fusion, abstractions) Math, ML, Data Libraries;C++ Std, C, Python Libraries Libraries augment compiler optimizations for Performance Portable programs Use open standards to run Performance Portable code on new generation, or different vendor’s, hardware with compiler optimization, explicit parametrization and dynamically composed algorithm Data Productivity Languages Big Data Stack, Stats Lib, Databases Learning Productivity Languages Deep Learning, Linear Alg, ML Implement and Test Algorithm Based on IWOCL/SYCLCon 2020 keynote Hal FInkel: https://www.iwocl.org/wp- content/uploads/iwocl-syclcon-2020-finkel-keynote-slides.pdf Today’s Supercomputing Development Workflow needs knowledge of system architecture and tools that control data Optimize Algorithm 2021 2020 2021 2021 Three Pillars of Science Problem
  13. 13. © The Khronos® Group Inc. 2020 - Page 13 This work is licensed under a Creative Commons Attribution 4.0 International License Enabling Industry Engagement • SYCL working group values industry feedback - https://community.khronos.org/c/sycl - https://sycl.tech • What features would you like in future SYCL versions? SYCL Working Group SYCL Advisory Panels Khronos GitHub Contribute to SYCL open source specs, CTS, tools and ecosystem Khronos SYCL Forums, Slack Channels, Stackoverflow, reddit, and SYCL.tech Khronos members https://www.khronos.org/members/ https://www.khronos.org/registry/SYCL/ Invited Experts https://www.khronos.org/advisors/ Public contributions to Specification, Conformance Tests and software https://github.com/KhronosGroup/SYCL-CTS https://github.com/KhronosGroup/SYCL-Docs https://github.com/KhronosGroup/SYCL-Shared https://github.com/KhronosGroup/SYCL-Registry https://github.com/KhronosGroup/SyclParallelSTL Open to all! https://community.khronos.org/www.khr.io/slack https://app.slack.com/client/TDMDFS87M/CE9UX4CHG https://community.khronos.org/c/sycl/ https://stackoverflow.com/questions/tagged/sycl https://www.reddit.com/r/sycl https://github.com/codeplaysoftware/syclacademy https://sycl.tech/
  14. 14. © The Khronos® Group Inc. 2020 - Page 14 This work is licensed under a Creative Commons Attribution 4.0 International License Thank You! Questions? • Khronos SYCL is creating a cutting-edge royalty-free open standard - For C++ Heterogeneous compute, vision, inferencing acceleration - https://www.khronos.org/sycl • Any entity/individual is welcome to join Khronos to influence SYCL’s evolution - https://www.khronos.org/members • Join IWOCL/SYCLcon Conference - Wednesday Apr 27-29, 2021 • Michael Wong - michael@codeplay.com | wongmichael.com/about Gather industry requirements for future open standards Draft Specifications Confidential to Khronos members Publicly Release Specifications and Conformance Tests Gain early insights into industry trends and directions Influence the design and direction of key open standards that will drive your business Accelerate your time-to- market with early access to specification drafts Network with domain experts from diverse companies in your industry State-of-the-art IP Framework protects your Intellectual Property Enhance your company reputation as an industry leader through Khronos participation Benefits of Khronos Membership Khronos Standardization Process

×