Data Parallel C++: Enhancing SYCL Through Extensions for Productivity and Performance
Автор: IWOCL
Загружено: 2020-04-28
Просмотров: 779
Описание:
This video was presented at the online version of IWOCL / SYCLcon 2020.
Authors: James Brodman, Michael Kinsner, Ben Ashbaugh, Jeff Hammond, Alexey Bader, John Pennycook, Jason Sewall and Roland Schulz (Intel)
Additional Information and Slides:
https://www.iwocl.org/iwocl-2020/conf...
Presentation Abstract
SYCL is a heterogeneous programming framework built on top of modern C++. Data Parallel C++, recently introduced as part of Intel’s oneAPI project, is Intel’s implementation of SYCL. Data Parallel C++, or DPC++, is being developed as an open-source project on top of Clang and LLVM. It combines C++, SYCL, and new extensions to improve programmer productivity when writing highly performant code for heterogeneous architectures.
This talk will describe several extensions that DPC++ has proposed and implemented on top of SYCL. While many of the extensions can help to improve application performance, all of them work to improve programmer productivity by both enabling easy integration into existing C++ applications, and by simplifying common patterns found in SYCL and C++. DPC++ is a proving ground where the value of extensions can be demonstrated before being proposed for inclusion in future versions of the SYCL specification. Intel contributes DPC++ extensions back to SYCL, to enable a unified standards-based solution.
The extensions that this talk will cover include:
Unified Shared Memory, which adds support for pointer-based programming to SYCL and provides a shared-memory programming model that significantly improves upon the shared virtual memory (SVM) model defined in OpenCL
Unnamed Kernel Lambdas, which simplify development for applications and libraries
In-order Queues, which simplifies the common pattern of kernels that execute in sequence
Subgroups, which enable efficient execution of specific collective operations across work items
Reductions, which allow easily expressing an important computational pattern across subgroups, workgroups, and entire devices
Language and API simplifications, which include C++ improvements such as template argument deduction guides, type aliases, and additional overloads of methods to reduce the verbosity of code
The DPC++ compiler project is located at http://github.com/intel/llvm.
Definitions for the extensions can be found both in the compiler and runtime code as well as in a repository located at: https://github.com/intel/llvm/tree/sy...
IWOCL Newsletter
Signup to receive regular updates on IWOCL, OpenCL and SYCL at: https://www.iwocl.org/opencl-newsletter/
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: