Khronos APIs for Heterogeneous Compute and Safety: SYCL and SYCL SC
SYCL 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 | 5 月前3Heterogeneous Modern C++ with SYCL 2020
1Michael 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 | 5 月前3The Absurdity of Error Handling
for 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 | 5 月前3Modern C++ for Parallelism in High Performance Computing
strategies: 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 | 5 月前3cppcon 2021 safety guidelines for C parallel and concurrency
into 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 | 5 月前3Distributed Ranges: A Model for Building Distributed Data Structures, Algorithms, and Views
seg) { 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 | 5 月前3Bridging the Gap: Writing Portable Programs for CPU and GPU
Audience 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 | 5 月前3
共 7 条
- 1