LINUX.ORG.RU

В AdaptiveCpp смержили Metal backend для Apple GPU

 , , ,


0

1

В AdaptiveCpp добавили поддержку Metal backend: теперь SYCL-код можно исполнять на GPU Apple через Metal (пайплайн LLVM IR -> MSL + рантайм). Это позволяет запускать вычислительные ядра на macOS на встроенной графике Apple

Пример минимального 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

★★★★★

Последнее исправление: Reset (всего исправлений: 1)
Ответ на: комментарий от MoldAndLimeHoney

Теперь код написанный на линуксе можно запускать на маке и тормозить не будет :)

Reset ★★★★★
() автор топика
Ответ на: комментарий от dataman

Да. В апреле-мае релиз очередной. Может к тому времени metal-backend будет более-менее стабильным. Мне уже багов накидали :)

Reset ★★★★★
() автор топика
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария