Анджэй Янік (Andrzej Janik) прадставіў план далейшай распрацоўкі праекта ZLUDA, які развівае адкрытую рэалізацыю тэхналогіі CUDA. Калі першы варыянт ZLUDA быў накіраваны на стварэнне рэалізацыі CUDA для GPU Intel, а другі – для GPU AMD, то прадстаўлены цяпер трэці варыянт будзе засяроджаны на развіцці ўніверсальнай рэалізацыі CUDA для любых GPU, выдатных ад GPU NVIDIA. Мэтай праекта ZLUDA заяўлена прадастаўленне на сістэмах з GPU, выдатнымі ад NVIDIA, магчымасці запуску немадыфікаваных прыкладанняў CUDA з прадукцыйнасцю, блізкай да прадукцыйнасці прыкладанняў, якія выконваюцца без праслоек. Код праекту працягвае распаўсюджвацца пад ліцэнзіямі MIT і Apache 2.0.
Першапачаткова праект ZLUDA развіваўся для GPU Intel, але ў 2021 году дадзеная кампанія палічыла падаванне магчымасці запуску CUDA-прыкладанняў на GPU Intel не ўяўлялай цікавасці для бізнэсу і не стала падтрымліваць развіццё ініцыятывы. У пачатку 2022 года распрацоўшчык звольніўся з Intel і заключыў кантракт з AMD на распрацоўку пласта для сумяшчальнасці з CUDA для GPU дадзенай кампаніі. Праз два гады кампанія AMD страціла цікавасць да магчымасці запуску CUDA-прыкладанняў на GPU AMD.
У адпаведнасці з умовамі кантракту і пасля атрымання дазволу на публікацыю ад прадстаўніка AMD падчас перапіскі па электроннай пошце Анджэй адкрыў код напрацовак, створаны падчас працы на AMD і якія дазваляюць выконваць CUDA-прыкладанні па-над развіваецца кампаніяй AMD стэка ROCm і runtime HIP (Heterogeneous-computing Interface for Portability). Праз 6 месяцаў пасля публікацыі юрысты AMD звязаліся з Анджэем і далі зразумець, што раней прадстаўлены падчас перапіскі дазвол не мае юрыдычнай сілы. У выніку Анджэй быў змушаны прыбраць з адчыненага доступу код ZLUDA, створаны падчас працы ў AMD.
Новы варыянт ZLUDA будзе адштурхоўвацца ад кодавай базы, якая існавала да пачатку працы Анджэя на AMD, не будзе прывязаны да нейкіх пэўных GPU і будзе засяроджаны на выкананні прыкладанняў, якія выкарыстоўваюць CUDA для паскарэння задач, звязаных з машынным навучаннем і штучным інтэлектам (раней ZLUDA быў арыентаваны перш за ўсё на прыкладанні для стварэння кантэнту, такія як Arnold Render, Blender і 3DF Zephyr). Сярод іншага плануецца даць магчымасць працы фрэймворкаў Llama.cpp, PyTorch і TensorFlow па-над ZLUDA з задзейнічаннем у іх CUDA-аптымізацый, якія ўжываюцца для GPU NVIDIA.
Першыя часы праект будзе сфакусаваны на працы на GPU AMD, але затым будзе адаптаваны для GPU Intel. Рэалізацыя для GPU AMD будзе створана з чыстага ліста, будзе падтрымліваць GPU, як мінімум на базе архітэктуры набору каманд RDNA1, і будзе выкарыстоўваць стэк ROCm 6.1+ замест стэка ROCm 5, які ўжываўся ў раней створанай для AMD рэалізацыі. Парытэту функцыянальнасці з мінулай рэалізацыяй, якую Анджэй вымушаны быў прыбраць з адкрытага доступу, плануецца дасягнуць у трэцім квартале 2025 года.
Крыніца: opennet.ru
