SYCL и OpenCL для графического процессора AMD

в VI,

:g/CPU_check/s/^/#/

где

  • :скажите vi перейти в командный режим
  • gприменить «глобально» (для нескольких строк )без g будет применяться только к первой строке.

  • /CPU_check/сопоставление адресной строкиCPU_CHECK

  • sзамена
  • /^/начало строки (с)
  • /#/#знак

выполнить другую замену

сохранить и выйти

:x
2
03.10.2020, 17:29
1 ответ

Насколько я понимаю, существует единственный драйвер ядра, amdgpu. Mesa находится в пространстве пользователя и является реализацией OpenGL. amdgpu -pro предоставляет альтернативные пользовательские библиотеки с закрытым -исходным кодом (OpenGL, OpenCL и т. д. ).

clover — это реализация OpenCL поверх Mesa. Я не уверен, в каком состоянии он находится в (, у меня сложилось впечатление, что он не очень хорошо поддерживался в течение некоторого времени, и разработка застопорилась ), но я сомневаюсь, что он сможет запускать программы SYCL.

ROCm — это больше, чем реализация OpenCL. Это платформа AMD GPGPU, предоставляющая платформу искусственного интеллекта, ускоренные библиотеки, инструменты и компиляторы. Он также содержит реализацию OpenCL. HIP — это не реализация OpenCL, это фактически реализация AMD модели программирования CUDA.

Насколько мне известно, к сожалению, ни одна недавняя реализация AMD OpenCL не может запускать программы SYCL, поскольку AMD не поддерживает ни SPIR, ни SPIR -V. AMD OpenCL никогда не поддерживала SPIR -V, поэтому DPC++/clang не будет работать.. ComputeCpp также может работать со SPIR, но его поддержка уже некоторое время назад была удалена из реализации AMD OpenCL.

Что касается поддержки SYCL для AMD, обычно рекомендуется использовать hipSYCL. К сожалению, AMD не поддерживает ваш конкретный GPU на ROCm (, на котором построен hipSYCL ), потому что поддержка ROCm сосредоточена на чипах, которые также используются в платах центров обработки данных. Подробнее см. здесь :https://github.com/RadeonOpenCompute/ROCm#supported-gpus

oneAPI — это общий термин Intel для их вычислительной платформы, предоставляющей библиотеки, инструменты и компиляторы (аналогично ROCm ). DPC++/LLVM SYCL/Intel SYCL является частью oneAPI.Все эти термины относятся к одному и тому же, а именно к реализации Intel стандарта Khronos SYCL 2020. Почти все расширения Intel были объединены в спецификацию SYCL 2020, поэтому не думайте о DPC++ как об отдельном языке.

В библиотеки oneAPI можно добавить дополнительные серверные части, например, Codeplay сделал это для NVIDIA. Также в принципе возможно перенести их на другую реализацию SYCL. Мы работаем над некоторыми наработками, чтобы потенциально двигаться в этом направлении с помощью hipSYCL, улучшая совместимость между hipSYCL и DPC++ :.https://www.urz.uni-heidelberg.de/en/2020-09-29-oneapi-coe-urz

Невозможно запустить ROCm поверх mesa. Это полностью независимый стек для вычислений на GPU. Насколько мне известно, между ROCm и mesa нет взаимодействия.

3
18.03.2021, 23:00

Теги

Похожие вопросы