I-ZLUDA toolkit ishicilelwe, ikuvumela ukuba usebenzise izicelo ze-CUDA kwi-AMD GPUs

Iprojekthi ye-ZLUDA ilungiselele ukuphunyezwa okuvulekileyo kweteknoloji ye-CUDA ye-AMD GPUs, ekuvumela ukuba uqhube izicelo ze-CUDA ezingaguqukiyo kunye nokusebenza ngokusondeleyo ekusebenzeni kwezicelo ezisebenza ngaphandle kweeleyile. I-toolkit epapashiweyo ibonelela ngokuhambelana kokubini kunye nezicelo ezikhoyo zeCUDA eziqulunqwe kusetyenziswa i-CUDA compiler ye-NVIDIA GPUs. Ukuphunyezwa kusebenza phezu kwe-ROCm stack kunye ne-runtime HIP (i-Heterogeneous-computing Interface for Portability) ephuhliswe yi-AMD. Ikhowudi yeprojekthi ibhalwe kwi-Rust kwaye ihanjiswa phantsi kwe-MIT kunye neelayisensi ze-Apache 2.0. Ixhasa umsebenzi kwiLinux kunye neWindows.

Umaleko wokuququzelela umsebenzi we-CUDA kwiinkqubo ezine-AMD GPUs uphuhliswe kule minyaka mibini idlulileyo, kodwa le projekthi inembali ende kwaye yadalwa ekuqaleni ukuze kuqinisekiswe umsebenzi weCUDA kwi-Intel GPUs. Utshintsho kumgaqo-nkqubo wenkxaso ye-GPU luchazwa kukuba ekuqaleni umphuhlisi we-ZLUDA wayengumqeshwa we-Intel, kodwa ngo-2021 le nkampani yaqwalasela ukubonelela ngekhono lokuqhuba izicelo ze-CUDA kwi-Intel GPUs ukuba ingabi nomdla kwishishini kwaye ayizange ikhawuleze. uphuhliso lweli phulo.

Ekuqaleni kuka-2022, umphuhlisi washiya i-Intel kwaye waqeshwa yi-AMD ukuphuhlisa umaleko wokuhambelana kweCUDA. Ngexesha lophuhliso, i-AMD yacela ukuba ingawubhengezi umdla we-AMD kwiprojekthi ye-ZLUDA kwaye ingazibophisi kwindawo enguvimba woluntu we-ZLUDA. Kwiminyaka emibini kamva, i-AMD yagqiba ekubeni ukuqhuba izicelo ze-CUDA kwi-AMD GPU kwakungeyona inzala kwishishini, leyo, ngokwemiqathango yesivumelwano, yavumela umphuhlisi ukuba afumane umsebenzi wakhe. Ekubeni abavelisi be-GPU bayekile ukuxhasa ngemali le projekthi, ikamva layo ngoku lixhomekeke kumdla woluntu kunye nokufunyanwa kweziphakamiso zentsebenziswano kwezinye iinkampani. Ngaphandle kwenkxaso yangaphandle, iprojekthi iya kukwazi ukuphuhlisa kuphela kwiindlela ezinomdla kumntu siqu kumbhali, njenge-DLSS (i-Deep Learning Super Sampling).

Kwimo yayo yangoku, umgangatho womgangatho wokuphunyezwa uvavanywa njengenguqulo ye-alpha. Nangona kunjalo, i-ZLUDA ingasetyenziselwa ukuqhuba izicelo ezininzi ze-CUDA, kuquka i-Geekbench, i-3DF Zephyr, i-Blender, i-Reality Capture, i-LAMMPS, i-NAMD, i-waifu2x, i-OpenFOAM kunye ne-Arnold. Ibonelela ngenkxaso encinci ye-cuDNN, cuBLAS, cuSPARSE, cuFFT, NCCL kunye neNVML yokuqala kunye namathala eencwadi.

Ukuqaliswa kokuqala kwe-CUDA izicelo eziqhuba i-ZLUDA kwenzeka ngokulibaziseka okubonakalayo ngenxa yokuba i-ZLUDA iqulunqa ikhowudi ye-GPU. Akukho kulibaziseka okunjalo kwimibaleko elandelayo, kuba ikhowudi ehlanganisiweyo igcinwe kwi-cache. Xa uqhuba ikhowudi ehlanganisiweyo, ukusebenza kusondele kwimveli. Xa uqhuba i-Geekbench kwi-AMD Radeon 6800 XT GPU, inguqulelo ye-ZLUDA ye-benchmark suite ye-CUDA isebenze ngokubonakalayo ngcono kunoguqulelo lwe-OpenCL.

I-ZLUDA toolkit ishicilelwe, ikuvumela ukuba usebenzise izicelo ze-CUDA kwi-AMD GPUs

Inkxaso ye-API ye-CUDA Driver esemthethweni kunye nenxalenye ye-reverse-engineered ye-CUDA API engabhalwanga iphunyezwe kwi-ZLUDA ngokutshintsha iifowuni zemisebenzi kunye nemisebenzi efanayo enikezelweyo kwi-runtime ye-HIP, efana ngeendlela ezininzi kwi-CUDA. Umzekelo, i cuDeviceGetAttribute () umsebenzi uthathelwa indawo yi hipDeviceGetAttribute (). Ukuhambelana namathala eencwadi e-NVIDIA afana ne-NVML, i-cuBLAS kunye ne-cuSPARSE iqinisekiswa ngendlela efanayo - kwiilayibrari ezinjalo, i-ZLUDA ibonelela ngeelayibrari zokuguqulela ezinegama elifanayo kunye neseti efanayo yemisebenzi, eyakhiwe njengezongezo kwiilayibrari ezifanayo ze-AMD.

Ikhowudi yesicelo se-GPU ehlanganiswe kwi-PTX (iParallel Thread Execution) iqala ukuguqulelwa ngumqokeleli okhethekileyo kwi-LLVM IR yokumelwa okuphakathi, ngesiseko apho ikhowudi yokubini ye-AMD GPUs yenziwa.

I-ZLUDA toolkit ishicilelwe, ikuvumela ukuba usebenzise izicelo ze-CUDA kwi-AMD GPUs


umthombo: opennet.ru

Yongeza izimvo