В AdaptiveCpp добавили поддержку Metal backend: теперь SYCL-код можно исполнять на GPU Apple через Metal (пайплайн LLVM IR -> MSL + рантайм). Это позволяет запускать вычислительные kernels на macOS на встроенной/дискретной графике Apple, без CUDA/ROCm
Пример минимального SYCL-кода (векторное сложение на устройстве):
#include <sycl/sycl.hpp>
int main() {
constexpr size_t N = 256;
sycl::queue q;
int *a = sycl::malloc_shared<int>(N, q);
int *b = sycl::malloc_shared<int>(N, q);
int *c = sycl::malloc_shared<int>(N, q);
for(size_t i=0;i<N;i++){ a[i]=i; b[i]=2*i; }
q.parallel_for(sycl::range<1>(N), [=](sycl::id<1> i) {
c[i] = a[i] + b[i];
}).wait();
sycl::free(a, q); sycl::free(b, q); sycl::free(c, q);
}
Проект AdaptiveCpp: https://github.com/AdaptiveCpp/AdaptiveCpp
Перемещено hobbit из opensource