Графические процессоры NVIDIA получают поддержку SYCL после того, как Codeplay внесет свой вклад в разработку стандарта DPC ++

Оборудование / Графические процессоры NVIDIA получают поддержку SYCL после того, как Codeplay внесет свой вклад в разработку стандарта DPC ++ 2 минуты чтения

Nvidia



Получив поддержку от ведущих компаний, таких как Intel, Xilinx, Renesas и Imagination Technologies, SYCL (произносится как «серп»), разработчики, использующие графические процессоры NVIDIA, теперь также смогут воспользоваться преимуществами. Codeplay, организация, которая постоянно вносила активный вклад в сообщество SYCL, завершила продвинутую разработку DPC ++ (Data Parallel C ++), которая позволяет повторно использовать код на нескольких аппаратных платформах. Результат - ComputeCpp, Собственная реализация SYCL в Codeplay .

Последняя версия ComputeCpp предлагает экспериментальную поддержку графических процессоров NVIDIA с использованием OpenCL и NVIDIA PTX

В прошлом году Intel сделала решительный шаг, чтобы дать толчок SYCL, и даже начала работать над стандартом oneAPI. OneAPI включает DPC ++ (реализацию SYCL с расширениями) для процессоров Intel, графических процессоров и FPGA. Вскоре движение стало довольно большим и набрало обороты после того, как SYCL поддержали Xilinx, Renesas и Imagination Technologies. Проще говоря, разработчики программного обеспечения теперь могут работать с широким спектром устройств с помощью SYCL.



ComputeCpp предлагает экспериментальную поддержку графических процессоров NVIDIA с использованием OpenCL и NVIDIA PTX. Но DPC ++ (реализация Intel SYCL) предлагает возможность добавить полную поддержку графических процессоров NVIDIA, интегрированных в компилятор LLVM, без прохождения через OpenCL. Codeplay объявила, что они открывают исходный код начальной экспериментальной фазы своей реализации, которая позволяет разработчикам SYCL ориентироваться на графические процессоры NVIDIA. Кодовая база для этой реализации остается в отдельная вилка как из основного проекта компилятора LLVM, так и из ветви DPC ++. Организация добавила, что они намерены работать с Intel над добавлением поддержки NVIDIA GPU в вышестоящий компилятор Intel / LLVM.

Как разработчики могут извлечь выгоду из поддержки SYCL для графических процессоров NVIDIA?

Этот проект позволяет разработчикам ориентироваться на графические процессоры NVIDIA с использованием кода SYCL без необходимости проходить уровень OpenCL в системе. Другими словами, с помощью только графического процессора NVIDIA разработчики могут запускать DPC ++ в своей системе для компиляции приложений SYCL. Более того, любое существующее приложение CUDA можно постепенно портировать на SYCL с помощью поддержки CUDA, а затем запустить его на платформе, не имеющей CUDA. Это явно экономит много времени и повторных усилий.

Codeplay предлагает инструкции для файла README проекта, объясняющие, как использовать серверную часть NVIDIA для DPC ++. Разработчики должны использовать некоторые флаги при компиляции и некоторый код для настройки селектора устройств, чтобы среда выполнения знала, на какое устройство нацеливаться. В частности, раздел « Создайте набор инструментов SYCL с поддержкой NVIDIA CUDA »И параметры компилятора Clang имеют конкретные инструкции .

Codeplay подтвердил, что они успешно запустили проект с Ubuntu 18.04 с использованием CUDA 10.1 на графическом процессоре Titan RTX (вычислительные возможности 7.5). Команда уверяет, что он также должен работать с другими версиями Linux с любым графическим процессором NVIDIA, совместимым с SM 5.0 или выше. Однако скомпилированное приложение SYCL сможет работать только с CUDA или OpenCL, но не с обоими одновременно.