Возможно ли запустить CUDA на графических процессорах AMD?

Я хотел бы расширить свой набор навыков в GPU computing. Я знаком с raytracing и realtime graphics (OpenGL), но следующее поколение графики и высокопроизводительных вычислений, похоже, находится в GPU computing или что-то в этом роде.

в настоящее время я использую графическую карту AMD HD 7870 на своем домашнем компьютере. Могу ли я написать код CUDA для этого? (моя интуиция нет, но поскольку Nvidia выпустила двоичные файлы компилятора, я могу ошибаться).

второй более общий вопрос есть, с чего начать с GPU-вычислений? Я уверен, что это часто задаваемый вопрос, но лучшее, что я видел, было от 08', и я думаю, что поле изменилось довольно много с тех пор.

6 ответов


нет, вы не можете использовать CUDA для этого. CUDA ограничивается оборудованием NVIDIA. OpenCL было бы лучшей альтернативой.

У самого Хроноса есть список ресурсов. Как и StreamComputing.сайт ЕС. Для ваших конкретных ресурсов AMD вы можете посмотреть на страница SDK приложения AMD.

обратите внимание, что в настоящее время существует несколько инициатив по переводу/кросс-компиляции CUDA на разные языки и Апис. Один такой пример бедра. Обратите внимание, однако, что это все еще не означает, что CUDA работает на графических процессорах AMD.


вы не можете использовать CUDA для программирования GPU, поскольку CUDA поддерживается только устройствами NVIDIA. Если вы хотите изучить GPU Computing, я бы предложил вам запустить CUDA и OpenCL одновременно. Это было бы очень полезно для вас.. Говоря о CUDA, вы можете использовать mCUDA. Для этого не требуется графический процессор NVIDIA..


Я думаю, что это будет возможно в ближайшее время в AMD FirePro GPU, см. пресс-релиз здесь но поддержка идет 2016 Q1 для инструментов разработки:

программа раннего доступа для инструментов "инициатива Больцмана" запланирована на 1 квартал 2016 года.


вы можете запустить код NVIDIA® CUDA™ на Mac, а также на графических процессорах OpenCL 1.2 в целом, используя кинза . Раскрытие информации: я автор. Пример использования:

cocl cuda_sample.cu
./cuda_sample

результат: enter image description here


Юп. :) Вы можете использовать Hipify для преобразования кода CUDA очень легко в код HIP, который может быть скомпилирован на оборудовании AMD и nVidia довольно хорошо. Вот некоторые ссылки

GPUOpen очень крутой сайт от AMD, который имеет тонны инструментов и программных библиотек, чтобы помочь с различными аспектами GPU вычислений многие из которых работают на обеих платформах

Hip GitHub репозиторий, который показывает процесс hipify

хип GPUOpen Блог


Я использовал Nsight для программирования для CUDA, это довольно круто. Также вы можете попробовать профиль, графический плагин говорит вам, сколько ресурсов вы используете.

вот ссылка: http://www.nvidia.com/object/nsight.html