AMD создала инструмент для преобразования CUDA кода в C++, запускаемого на любых видеокартах практически без потери производительности

AMD выпустила инструмент под названием HIP (Heterogeneous-compute Interface for Portability), позволяющий разработчикам конвертировать CUDA код в портируемый код на C++. Это позволит запускать один и тот же код на абсолютно любых видеокартах, что приятно, ведь раньше исходный код держался в секрете, а аппаратные опции были ограничены поставщиками.

hip

Особенности HIP:

  • HIP очень маленький и не влияет на производительность кода в CUDA или в “HC”-режиме hcc.
  • HIP позволяет писать код на C++, используя лямбды, классы, пространства имен и многое другое.
  • HIP позволяет разработчикам использовать лучшие среды и инструменты разработки на нужной им платформе.
  • Инструмент под названием “hipify” автоматически конвертирует код из CUDA в HIP.
  • Для улучшения производительности и исправления ошибок разработчики могут сконцентрироваться на одной из платформ: CUDA или hcc.

Новые проекты могут разрабатываться прямо на HIP C++ и запускаться на процессорах NVIDIA или AMD. К тому же, код, конвертированный с CUDA, не уступает по производительности оригинальным CUDA-приложениям. Стоит отметить, что HIP не собирается вытеснять CUDA, и разработчикам все же придется потратить немного времени на портирование.

Ознакомиться с репозиторием можно по этой ссылке.

Источник: GitHub