Research project for SYCL experimentation and feedback to Khronos
Top 68.7% on sourcepulse
triSYCL is a research project exploring the SYCL standard for heterogeneous computing, primarily targeting AMD's AI Engine (AIE) CGRA architecture and providing feedback to the Khronos Group. It offers a C++ single-source programming model for CPUs, GPUs, and FPGAs, though it is incomplete and not intended for general end-users, with more robust alternatives like DPC++ and hipSYCL available.
How It Works
This implementation leverages C++23 features, with OpenMP or TBB for CPU parallelism. It uses Boost.Compute for OpenCL interoperability and an experimental, now-obsolete LLVM/Clang version for device compilation, targeting SPIR devices. Recent efforts focus on C++ extensions for AMD AIE CGRA, with ACAP++ (C++17/20) and AIE++ (C++23/26) providing programming models for CPU emulation and AIE devices, requiring a special compiler from a related project.
Quick Start & Requirements
doc/testing.rst
for building examples.triSYCL/sycl
.Highlighted Details
Maintenance & Community
The project has seen development efforts funded by AMD and Xilinx. Technical lead is Ronan Keryell. Internship opportunities related to the project have been available.
Licensing & Compatibility
The license is the same as LLVM/Clang. Compatibility for commercial use or closed-source linking is not explicitly detailed but implied by the LLVM/Clang license.
Limitations & Caveats
This implementation is described as very incomplete and not for general end-users. The device compiler is obsolete, and AMD toolchain integration is experimental and unsupported by AMD product teams. Current AIE targets are limited to first-generation devices (AIE/AIE1).
9 months ago
1 week