Amûrên ZLUDA hate weşandin, ku dihêle hûn serîlêdanên CUDA li ser GPU-yên AMD-ê bimeşînin

Projeya ZLUDA pêkanînek çavkaniya vekirî ya teknolojiya CUDA ji bo GPU-yên AMD pêşxistiye, ku pêkanîna sepanên CUDA yên neguherandî bi performansa nêzîkî ya sepanên ku bêyî navbeynkaran dixebitin gengaz dike. Amûrên weşandî lihevhatina dualî bi sepanên CUDA yên heyî yên ku bi karanîna berhevkarê CUDA ji bo GPU-yên NVIDIA hatine çêkirin re misoger dike. Pêkanîn li ser stacka ROCm ya AMD û dema xebitandinê ya Heterogeneous Computing Interface for Portability (HIP) dimeşe. Koda projeyê bi Rust hatiye nivîsandin û di bin lîsansên MIT û Apache 2.0 de hatiye belavkirin. Ew piştgirî dike. Linux и Windows.

Parçeya organîzekirina xebata CUDA li ser pergalên bi GPU-yên AMD di van du salên borî de hatî pêşve xistin, lê proje xwedan dîrokek dirêjtir e û bi eslê xwe hate afirandin da ku xebata CUDA li ser GPU-yên Intel piştrast bike. Guhertina polîtîkaya piştevaniya GPU bi vê yekê ve tê ravekirin ku di destpêkê de pêşdebirê ZLUDA karmendek Intel bû, lê di sala 2021-an de vê pargîdaniyê peydakirina kapasîteya ku sepanên CUDA li ser GPU-yên Intel-ê dimeşîne wekî berjewendiya karsaziyê tune û lez nekir. pêşveçûna înîsiyatîfê.

Di destpêka sala 2022-an de, pêşdebir ji Intel derket û ji hêla AMD ve hate peyman kirin ku ji bo lihevhatina CUDA qatek pêş bixe. Di dema pêşkeftinê de, AMD daxwaz kir ku berjewendiya AMD-ê di projeya ZLUDA de reklam neke û ji depoya giştî ya ZLUDA re peymanan neke. Du sal şûnda, AMD biryar da ku xebitandina serîlêdanên CUDA li ser GPU-yên AMD ji karsaziyê re ne eleqedar bû, ku, li gorî şertên peymanê, hişt ku pêşdebir karê xwe kifş bike. Ji ber ku hilberînerên GPU fînansekirina projeyê rawestandine, çarenûsa wê naha bi berjewendiya civakê û wergirtina pêşniyarên hevkariyê ji pargîdaniyên din ve girêdayî ye. Bêyî piştgiriya derveyî, proje dê tenê di rêwerzên ku bi kesane ji nivîskar re balkêş in, wekî DLSS (Nimûnekirina Super Fêrbûna Kûr) pêşve bibe.

Di forma xweya heyî de, asta kalîteyê ya pêkanînê wekî guhertoyek alpha tête nirxandin. Lêbelê, ZLUDA jixwe dikare were bikar anîn da ku gelek serîlêdanên CUDA-yê bimeşîne, di nav de Geekbench, 3DF Zephyr, Blender, Reality Capture, LAMMPS, NAMD, waifu2x, OpenFOAM û Arnold. Ji bo cuDNN, cuBLAS, cuSPARSE, cuFFT, NCCL û NVML primitives û pirtûkxaneyên herî kêm piştgirî peyda dike.

Yekem destpêkirina serîlêdanên CUDA yên ku ZLUDA dixebitin bi derengiyên berbiçav pêk tê ji ber ku ZLUDA koda GPU berhev dike. Di rêveçûna paşîn de derengiyek wusa tune, ji ber ku koda berhevkirî di cache de tê hilanîn. Dema ku koda berhevkirî dimeşîne, performans nêzî xwecî ye. Dema ku Geekbench-ê li ser GPU-ya AMD Radeon 6800 XT-ê dimeşîne, guhertoya ZLUDA ya koma pîvana CUDA ji guhertoya OpenCL-ê bi rengek berbiçav çêtir derket.


Amûrên ZLUDA hate weşandin, ku dihêle hûn serîlêdanên CUDA li ser GPU-yên AMD-ê bimeşînin

Piştgiriya ji bo CUDA Driver API-ya fermî û beşa berevajî-berevajîkirî ya CUDA API-ya nebelgekirî di ZLUDA de bi cîhgirtina bangên fonksiyonê bi fonksiyonên mîna ku di dema xebitandinê ya HIP-ê de têne peyda kirin, ku bi gelek awayan dişibihe CUDA-yê, tête bicîh kirin. Mînakî, fonksiyona cuDeviceGetAttribute() bi hipDeviceGetAttribute() tê guheztin. Lihevhatina bi pirtûkxaneyên NVIDIA yên wekî NVML, cuBLAS û cuSPARSE re bi heman rengî tête peyda kirin - ji bo pirtûkxaneyên weha, ZLUDA pirtûkxaneyên wergerê bi heman navî û heman komek fonksiyonan peyda dike, ku wekî pêvekan li ser pirtûkxaneyên AMD-ê yên wekhev têne çêkirin.

Koda serîlêdana GPU ya ku di nûnertiya PTX (Parallel Thread Execution) de hatî berhev kirin yekem car ji hêla berhevkarek taybetî ve di nûnertiya navîn a LLVM IR de tê wergerandin, li ser bingeha wê koda binary ji bo GPU-yên AMD-ê tê çêkirin.


Amûrên ZLUDA hate weşandin, ku dihêle hûn serîlêdanên CUDA li ser GPU-yên AMD-ê bimeşînin


Source: opennet.ru
Ji bo malperên bi parastina DDoS, serverên VPS VDS mêvandariya pêbawer bikirin 🔥 Hostinga malperê ya pêbawer bi parastina DDoS, serverên VPS VDS bikirin | ProHoster