2019 EuroLLVM Developers’ Meeting: A. Savonichev “SYCL compiler: zero-cost abstraction and type...”

preview_player
Показать описание

SYCL compiler: zero-cost abstraction and type safety for heterogeneous computing - Andrew Savonichev (Intel)


SYCL is an abstraction layer for C++, that allows a developer to write heterogeneous programs in a "single source" model, where host and device code are written in the same file. Utilizing modern C++ features, SYCL provides a way to develop type-safe and efficient programs for various accelerator devices.

Although SYCL is designed as "extension-free" standard C++ API, there is a need to have some compiler extensions to enable C++ code execution on accelerators. SYCL compiler is responsible for "extracting" device part of code and compiling it to SPIR-V format or device native binary. In addition to that, compiler should also emit auxiliary information, which is used by SYCL runtime to run a device code via OpenCL API.


Рекомендации по теме
Комментарии
Автор

A very good description for How SYCL works.

shaozhuowang