Похоже, команда юристов AMD намерена получить полный контроль над значительной частью базы ПО, созданной в рамках открытого проекта ZLUDA. По данным The Register, ранее в этом году компания прекратила финансовую поддержку инициативы, позволяющей использовать CUDA-код на сторонних ускорителях. Теперь, похоже, AMD ужесточает политику.
Изначально проект ZLUDA создавался для запуска CUDA-приложений без каких-либо модификаций на GPU Intel при поддержке со стороны самой Intel. Позже автор проекта Анджей Яник (Andrzej Janik) подписал с AMD контракт, в рамках которого предполагалось создание аналогичного инструмента для ускорителей AMD. В начале 2022 года проект стал закрытым, но уже в начале 2024 года Яник снова сделал проект открытым по соглашению сторон, поскольку AMD решила прекратить финансирование и дальнейшее развитие ZLUDA.
Однако позже AMD изменила своё решение. Именно по её запросу соответствующее ПО стало недоступным. По словам Яника, юристы AMD заявили, что предыдущее письмо с разрешением на публикацию кода не является юридически значимым документом. Яник после консультации с юристом пришёл к выводу, что законность писем не имеет значения, поскольку потенциальная судебная тяжба с AMD отняла бы у него слишком много ресурсов, а её результат трудно предсказать. Проще и быстрее переписать проект на базе старых наработок, хотя часть функций, вероятно, воссоздать не выйдет.
Почему в AMD решили попытаться «похоронить» ZLUDA, достоверно неизвестно. Первой и самой очевидной причиной может быть желание AMD дистанцироваться от проекта, возможно, нарушающего права NVIDIA на интеллектуальную собственность. NVIDIA уже запретила использовать CUDA-код на других аппаратных платформах, создавая «слои трансляции CUDA», и прибегать к декомпиляции всего, что создано с помощью CUDA SDK, для адаптации ПО для запуска на других GPU.
Кроме того, в AMD могли посчитать, что само существование ZLUDA могло бы помешать внедрению собственного ПО. Собственный инструментарий AMD предполагает именно портирование и рекомпиляцию исходного кода CUDA вместо запуска уже готовых программ. Кроме того, мог возникнуть конфликт относительного того, какой код, созданный в рамках ZLUDA, можно выпускать, а какой нет.
Источник: