A ti ṣe atẹjade ohun elo irinṣẹ ZLUDA, gbigba ọ laaye lati ṣiṣẹ awọn ohun elo CUDA lori awọn GPUs AMD

Iṣẹ akanṣe ZLUDA ti pese imuse ṣiṣi ti imọ-ẹrọ CUDA fun AMD GPUs, eyiti o fun ọ laaye lati ṣiṣẹ awọn ohun elo CUDA ti ko yipada pẹlu iṣẹ ṣiṣe ti o sunmọ iṣẹ awọn ohun elo nṣiṣẹ laisi awọn ipele. Ohun elo irinṣẹ ti a tẹjade n pese ibamu alakomeji pẹlu awọn ohun elo CUDA ti o wa tẹlẹ ti a ṣajọpọ nipa lilo alakojo CUDA fun NVIDIA GPUs. Imuse naa n ṣiṣẹ lori oke ti akopọ ROCm ati HIP asiko-akoko (Interface-Computing Interface fun Portability) ni idagbasoke nipasẹ AMD. Koodu ise agbese ti kọ ni Rust ati pe o pin kaakiri labẹ awọn iwe-aṣẹ MIT ati Apache 2.0. Awọn atilẹyin ṣiṣẹ lori Linux ati Windows.

Layer fun siseto iṣẹ CUDA lori awọn ọna ṣiṣe pẹlu AMD GPUs ti ni idagbasoke ni ọdun meji sẹhin, ṣugbọn iṣẹ akanṣe naa ni itan-akọọlẹ gigun ati pe a ṣẹda ni akọkọ lati rii daju pe CUDA ṣiṣẹ lori Intel GPUs. Iyipada ninu eto imulo atilẹyin GPU jẹ alaye nipasẹ otitọ pe ni akọkọ olupilẹṣẹ ZLUDA jẹ oṣiṣẹ Intel, ṣugbọn ni ọdun 2021 ile-iṣẹ yii gbero lati pese agbara lati ṣiṣẹ awọn ohun elo CUDA lori Intel GPUs lati jẹ anfani iṣowo ati pe ko yara. idagbasoke ti ipilẹṣẹ.

Ni ibẹrẹ ọdun 2022, olupilẹṣẹ fi Intel silẹ ati pe AMD ni adehun lati ṣe agbekalẹ ipele kan fun ibaramu CUDA. Lakoko idagbasoke, AMD beere lati ma ṣe ipolowo iwulo AMD si iṣẹ akanṣe ZLUDA ati pe ko ṣe awọn adehun si ibi ipamọ ZLUDA ti gbogbo eniyan. Ni ọdun meji lẹhinna, AMD pinnu pe ṣiṣe awọn ohun elo CUDA lori AMD GPUs ko ni anfani si iṣowo, eyiti, ni ibamu si awọn ofin ti adehun naa, jẹ ki olupilẹṣẹ ṣe iwari iṣẹ rẹ. Niwọn igba ti awọn aṣelọpọ GPU ti dẹkun igbeowosile iṣẹ akanṣe naa, ayanmọ rẹ ni bayi da lori iwulo agbegbe ati gbigba awọn igbero fun ifowosowopo lati awọn ile-iṣẹ miiran. Laisi atilẹyin ita, iṣẹ akanṣe yoo ni anfani lati dagbasoke nikan ni awọn itọnisọna ti o nifẹ si onkọwe, gẹgẹbi DLSS (Deep Learning Super Sampling).

Ni fọọmu lọwọlọwọ rẹ, ipele didara imuse jẹ iṣiro bi ẹya alpha. Sibẹsibẹ, ZLUDA le ti lo tẹlẹ lati ṣiṣẹ ọpọlọpọ awọn ohun elo CUDA, pẹlu Geekbench, 3DF Zephyr, Blender, Reality Capture, LAMMPS, NAMD, waifu2x, OpenFOAM ati Arnold. Pese atilẹyin iwonba fun cuDNN, cuBLAS, cuSPARSE, cuFFT, NCCL ati NVML ati awọn ile ikawe.

Ifilọlẹ akọkọ ti awọn ohun elo CUDA ti n ṣiṣẹ ZLUDA waye pẹlu awọn idaduro akiyesi nitori otitọ pe ZLUDA ṣajọ koodu GPU. Ko si iru idaduro ni awọn ṣiṣe atẹle, niwọn igba ti koodu ti o ṣajọ ti wa ni ipamọ ninu kaṣe. Nigbati o ba n ṣiṣẹ koodu ti a ṣakojọ, iṣẹ ṣiṣe sunmọ ilu abinibi. Nigbati o ba n ṣiṣẹ Geekbench lori AMD Radeon 6800 XT GPU, ẹya ZLUDA ti suite ala CUDA ṣe akiyesi dara julọ ju ẹya OpenCL lọ.

A ti ṣe atẹjade ohun elo irinṣẹ ZLUDA, gbigba ọ laaye lati ṣiṣẹ awọn ohun elo CUDA lori awọn GPUs AMD

Atilẹyin fun osise CUDA Driver API ati ipin-iyipada-ẹrọ ti CUDA API ti ko ni iwe-aṣẹ ni imuse ni ZLUDA nipa rirọpo awọn ipe iṣẹ pẹlu awọn iṣẹ ti o jọra ti a pese ni akoko asiko HIP, eyiti o jọra ni ọpọlọpọ awọn ọna si CUDA. Fun apẹẹrẹ, iṣẹ cuDeviceGetAttribute () ti rọpo nipasẹ hipDeviceGetAttribute (). Ibamu pẹlu awọn ile-ikawe NVIDIA gẹgẹbi NVML, cuBLAS ati cuSPARSE ni idaniloju ni ọna kanna - fun iru awọn ile-ikawe bẹ, ZLUDA pese awọn ile-ikawe itumọ pẹlu orukọ kanna ati ṣeto awọn iṣẹ kanna, ti a ṣe bi awọn afikun lori awọn ile-ikawe AMD ti o jọra.

Koodu ohun elo GPU ti a ṣajọpọ sinu aṣoju PTX (Parallel Thread Execution) ni akọkọ tumọ nipasẹ olupilẹṣẹ pataki kan si aṣoju agbedemeji LLVM IR, lori ipilẹ eyiti koodu alakomeji fun AMD GPU ti ipilẹṣẹ.

A ti ṣe atẹjade ohun elo irinṣẹ ZLUDA, gbigba ọ laaye lati ṣiṣẹ awọn ohun elo CUDA lori awọn GPUs AMD


orisun: opennet.ru

Fi ọrọìwòye kun