 Khronos APIs for Heterogeneous Compute and Safety: SYCL and SYCL SCSYCL IS MAINSTREAM Open Standards and Open Source implementations, community driven Open cross-company collaboration Co-design for all forms of extreme heterogeneity Open Source without a community 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 3.0 C++23SYCL IMPLEMENTATIONS IN DEVELOPMENT Source Code DPC++ Uses LLVM/Clang Part of oneAPI hipSYCL Multiple Backends Any CPU Intel CPUs Intel GPUs Intel FPGAs AMD GPUs Any CPU SYCL enables Khronos0 码力 | 82 页 | 3.35 MB | 6 月前3 Khronos APIs for Heterogeneous Compute and Safety: SYCL and SYCL SCSYCL IS MAINSTREAM Open Standards and Open Source implementations, community driven Open cross-company collaboration Co-design for all forms of extreme heterogeneity Open Source without a community 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 3.0 C++23SYCL IMPLEMENTATIONS IN DEVELOPMENT Source Code DPC++ Uses LLVM/Clang Part of oneAPI hipSYCL Multiple Backends Any CPU Intel CPUs Intel GPUs Intel FPGAs AMD GPUs Any CPU SYCL enables Khronos0 码力 | 82 页 | 3.35 MB | 6 月前3
 Heterogeneous Modern C++ with SYCL 20201Michael Wong Distinguished Engineer ● Chair of SYCL Heterogeneous Programming Language ● ISO C++ Directions Group past Chair ● Past CEO OpenMP ● ISOCPP.org Director, VP http://isocpp.org/wiki/ Facility (ALCF) ○ Computer Scientist ○ Kokkos (SYCL/DPC++ backend) ○ Vice Chair WG21 Library Evolution Working Group Incubator (LEWGI / SG18) ○ SYCL Committee Representative ○ oneAPI, oneMKL Technical C++ programming models for heterogeneous systems Worked on ComputeCpp (SYCL) since its inception Contributor to the Khronos SYCL standard for 8 years Contributor to C++ executors and heterogeneity or0 码力 | 114 页 | 7.94 MB | 6 月前3 Heterogeneous Modern C++ with SYCL 20201Michael Wong Distinguished Engineer ● Chair of SYCL Heterogeneous Programming Language ● ISO C++ Directions Group past Chair ● Past CEO OpenMP ● ISOCPP.org Director, VP http://isocpp.org/wiki/ Facility (ALCF) ○ Computer Scientist ○ Kokkos (SYCL/DPC++ backend) ○ Vice Chair WG21 Library Evolution Working Group Incubator (LEWGI / SG18) ○ SYCL Committee Representative ○ oneAPI, oneMKL Technical C++ programming models for heterogeneous systems Worked on ComputeCpp (SYCL) since its inception Contributor to the Khronos SYCL standard for 8 years Contributor to C++ executors and heterogeneity or0 码力 | 114 页 | 7.94 MB | 6 月前3
 The Absurdity of Error Handlingfor Errors in Safety-Critical SYCL Erik Tomusk CppCon 2023 October 5, 2023© 2023 Codeplay Software Ltd. Codeplay Corporate Slide 2© 2023 Codeplay Software Ltd. • SYCL is an abstraction layer for running safety-critical, not supercomputing • SC is any domain where software can cause substantial harm • More on SYCL in room Cottonwood 2/3: 3© 2023 Codeplay Software Ltd. Disclaimer Slide 4 This is a personal presentation Handling • Case Study • Why is this Important? • Is it Really so bad? • What does this mean for SYCL SC? • What does this mean for you? 5Definition of Safety 6© 2023 Codeplay Software Ltd. Definition0 码力 | 43 页 | 1.39 MB | 6 月前3 The Absurdity of Error Handlingfor Errors in Safety-Critical SYCL Erik Tomusk CppCon 2023 October 5, 2023© 2023 Codeplay Software Ltd. Codeplay Corporate Slide 2© 2023 Codeplay Software Ltd. • SYCL is an abstraction layer for running safety-critical, not supercomputing • SC is any domain where software can cause substantial harm • More on SYCL in room Cottonwood 2/3: 3© 2023 Codeplay Software Ltd. Disclaimer Slide 4 This is a personal presentation Handling • Case Study • Why is this Important? • Is it Really so bad? • What does this mean for SYCL SC? • What does this mean for you? 5Definition of Safety 6© 2023 Codeplay Software Ltd. Definition0 码力 | 43 页 | 1.39 MB | 6 月前3
 Modern C++ for Parallelism in High Performance Computingstrategies: C-style programming with OpenMP, native mechanisms in modern C++, as well as through Kokkos and Sycl. Discussion An important corner of scientific computing is concerned with sparse matrices, in particular The second extension is Sycl, a Khronos open standard, which can be considered a library built on standard C++, but in practice requires compiler support. The major proponent of Sycl is Intel, which provides work: The ‘AdaptiveCPP’ open source alternative to Sycl is very hard to install. I hope to find time for another attempt. This will allow testing Sycl on two different compilers: Intel with optimized TBB0 码力 | 3 页 | 91.16 KB | 6 月前3 Modern C++ for Parallelism in High Performance Computingstrategies: C-style programming with OpenMP, native mechanisms in modern C++, as well as through Kokkos and Sycl. Discussion An important corner of scientific computing is concerned with sparse matrices, in particular The second extension is Sycl, a Khronos open standard, which can be considered a library built on standard C++, but in practice requires compiler support. The major proponent of Sycl is Intel, which provides work: The ‘AdaptiveCPP’ open source alternative to Sycl is very hard to install. I hope to find time for another attempt. This will allow testing Sycl on two different compilers: Intel with optimized TBB0 码力 | 3 页 | 91.16 KB | 6 月前3
 cppcon 2021 safety guidelines for C parallel and concurrencyinto WG21 in threading, vectorization and numerics. Contribution into SYCL Michael Wong Distinguished Engineer ● Chair of SYCL Heterogeneous Programming Language ● ISO C++ Directions Group past Chair safety certification Rendering Compute Display • Khronos Safety Critical Advisory Forum • OpenCL/SYCL Safety Critical • Vulkan Safety Critical • JTC1/SC42 Machine Learning WG3 Trustworthiness • ITC22/SC320 码力 | 52 页 | 3.14 MB | 6 月前3 cppcon 2021 safety guidelines for C parallel and concurrencyinto WG21 in threading, vectorization and numerics. Contribution into SYCL Michael Wong Distinguished Engineer ● Chair of SYCL Heterogeneous Programming Language ● ISO C++ Directions Group past Chair safety certification Rendering Compute Display • Khronos Safety Critical Advisory Forum • OpenCL/SYCL Safety Critical • Vulkan Safety Critical • JTC1/SC42 Machine Learning WG3 Trustworthiness • ITC22/SC320 码力 | 52 页 | 3.14 MB | 6 月前3
 Distributed Ranges: A Model for Building Distributed Data Structures, Algorithms, and Viewsseg) { return seg | transform(fun_); }); } private: V base_; F fun_; };SYCL Codebase (shp) - Data automatically distributed amongst multiple GPUs - Distributed algorithms: }); return reduce(par_unseq, z.begin(), z.end(), T(0), std::plus()); }SYCL Codebase (shp) - Data automatically distributed amongst multiple GPUs - Distributed algorithms:0 码力 | 127 页 | 2.06 MB | 6 月前3 Distributed Ranges: A Model for Building Distributed Data Structures, Algorithms, and Viewsseg) { return seg | transform(fun_); }); } private: V base_; F fun_; };SYCL Codebase (shp) - Data automatically distributed amongst multiple GPUs - Distributed algorithms: }); return reduce(par_unseq, z.begin(), z.end(), T(0), std::plus()); }SYCL Codebase (shp) - Data automatically distributed amongst multiple GPUs - Distributed algorithms:0 码力 | 127 页 | 2.06 MB | 6 月前3
 Bridging the Gap: Writing Portable Programs for CPU and GPUAudience etc.. Ask questions during the talk Audience? Only Cuda What is Cuda Do not ask me about SYCL, ROCm, Vulkan, ... You can tell me about afterwards7/66 Motivation Patterns The dark path Cuda proposal0 码力 | 124 页 | 4.10 MB | 6 月前3 Bridging the Gap: Writing Portable Programs for CPU and GPUAudience etc.. Ask questions during the talk Audience? Only Cuda What is Cuda Do not ask me about SYCL, ROCm, Vulkan, ... You can tell me about afterwards7/66 Motivation Patterns The dark path Cuda proposal0 码力 | 124 页 | 4.10 MB | 6 月前3
共 7 条
- 1













