Minisymposium Presentation
The Community-Driven AdaptiveCpp SYCL Compiler Project: From High-Level C++ Programming to the Automatic Synthesis of Specialized Kernels
Presenter
Description
The SYCL implementation ecosystem currently consists of two main implementations: The commercial and vendor-driven DPC++ project, led by Intel, and the independent, community-driven AdaptiveCpp project.AdaptiveCpp provides a flexible, portable heterogeneous computing framework with its support for GPUs from Intel, NVIDIA, and AMD as well as any LLVM-supported CPU.
In this presentation, we will discuss how AdaptiveCpp can help users to develop highly performant applications with reasonable effort. This includes its ability to provide a low barrier of entry to heterogeneous computing: Its support for offloading C++ standard parallelism constructs provides a convenient, high-level model, while frequently outperforming vendor compilers.Additionally, we will show how AdaptiveCpp's unique design can automatically synthesize highly-specialized kernels from portable code at runtime. This enables AdaptiveCpp to deliver highly competitive performance while potentially requiring less interaction with users than other SYCL compilers.
We argue that community-driven projects such as AdaptiveCpp are crucial to avoid the dangers of vendor lock-in, and will show how developers and scientists can engage with AdaptiveCpp and participate in its development, and thus help shape it into the tool they want.