Программирование GPU, CUDA или OpenCL или?

Как лучше всего программировать для GPU?

Я знаю:

  • CUDA очень хорош, много поддержки разработчиков и очень хорошая отладка zo, но только на оборудовании NVidia.
  • OpenCL очень гибкий, работает на оборудовании NVidia, AMD и Intel, работает на ускорителях, GPU и CPU, но, насколько мне известно, NVidia больше не поддерживает.
  • Coriander (https://github.com/hughperkins/coriander), который преобразует CUDA в OpenCL.
  • HIP https://github.com/ROCm-Developer-Tools/HIP создан AMD, чтобы иметь возможность писать так, чтобы конвертировать в AMD и NVidia CUDA. Он также может конвертировать CUDA в HIP.

OpenCL был бы моим предпочтительным способом, я хочу быть очень гибким в поддержке оборудования. Но если NVidia больше не поддерживает, это нокаут.HIP лучше всего звучит для меня с различными выпущенными файлами. Но как будет поддерживаться аппаратное обеспечение Intel, которое скоро появится?

Есть ли другие варианты? Для меня важно, чтобы многие поддерживаемые аппаратные средства имели долгосрочную поддержку, чтобы их можно было скомпилировать через несколько лет и производить независимо. Дополнительно: Должен иметь возможность использовать больше, чем компилятор obe, в Linux и Windows поддерживается.

0 ответов

Другие вопросы по тегам