Iphrojekthi ye-LLVM yethule i-HPVM 1.0, umdidiyeli we-CPU, i-GPU, i-FPGA nama-accelerator

Abathuthukisi bephrojekthi ye-LLVM bashicilele ukukhululwa kwe-HPVM 1.0 (Heterogeneous Parallel Virtual Machine) compiler, okuhloswe ngayo ukwenza lula izinhlelo zezinhlelo ezihlukahlukene kanye nokuhlinzeka ngamathuluzi okukhiqiza amakhodi ama-CPU, ama-GPU, ama-FPGA kanye nama-accelerator aqondene nesizinda esithile (ukusekelwa kwe-hardware). Ama-FGPA nama-accelerator awazange afakwe ekukhishweni kwe-1.0 ). Ikhodi yephrojekthi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0.

Umqondo oyinhloko we-HPVM ukuhlinzeka ngesethulo esihlangene sezinhlelo ezisebenzisekayo ezihambisanayo lapho kuhlanganiswa, ezingasetshenziselwa ukwenziwa kusetshenziswa izinhlobo ezahlukene zehadiwe ezisekela ikhompuyutha efanayo, okuhlanganisa ama-GPU, imiyalelo ye-vector, ama-multi-core processors, ama-FPGA kanye ama-accelerator ama-chips ahlukahlukene. Ngokungafani nezinye izinhlelo, i-HPVM izame ukuhlanganisa amakhono amathathu okuhlela ikhompuyutha ehlukahlukene: ukumelwa okuphakathi kolimi- kanye ne-hardware-independent, i-virtual instruction set architecture (ISA), kanye nokuhlela isikhathi sokusebenza.

I-target-independent intermediate representation (IR) ye-HPVM yakhela phezu kwe-LLVM 9.0 yokumelwa kwemiyalo emaphakathi futhi iyinwebe ngegrafu yokugeleza kwedatha ye-hierarchical data ukuze ithwebule ukufana komsebenzi, idatha, kanye neleveli yamapayipi. Ukumelwa okuphakathi kwe-HPVM kuhlanganisa nemiyalelo ye-vector kanye nenkumbulo eyabiwe. Inhloso eyinhloko yokusebenzisa isethulo esimaphakathi ukukhiqiza amakhodi okusebenzayo kanye nokwenza kahle kwamasistimu ahlukahlukene.

I-virtual instruction set architecture (ISA) ivumela ukuphatheka phakathi kwezinhlobo ezahlukene zehadiwe yekhompuyutha ehambisanayo futhi yenza kube nokwenzeka ukuthi ungalahlekelwa ukusebenza lapho kusetshenziswa izici ezihlukene zamasistimu ahlukahlukene. I-Virtual ISA ingaphinda isetshenziselwe ukuletha ikhodi yohlelo olusebenzisekayo jikelele olungasebenza kusetshenziswa ama-CPU, ama-GPU, ama-FPGA, nama-accelerator ahlukahlukene.

Esigabeni samanje sokuthuthuka, i-HPVM inikeza amakhodi akhiqiza amakhodi akwazi ukuhumusha amanodi ohlelo lokusebenza achazwe kusetshenziswa i-ISA ebonakalayo ukuze kusetshenziswe i-NVIDIA GPUs (cuDNN ne-OpenCL), imiyalelo ye-Intel AVX vector kanye nama-multi-core x86 CPUs. Ngesikhathi sokusebenza, i-HPVM isebenzisa izinqubomgomo zokuhlela zenqubo yekhompyutha eziguquguqukayo, ezisetshenziswa kokubili ngokusekelwe kulwazi lohlelo (isakhiwo segrafu) nangokuhlanganisa amanodi ohlelo angawodwana ukuze asetshenziswe kunoma imaphi amadivaysi ekhompuyutha aqondiwe atholakala ohlelweni.

Kuyaphawulwa ukuthi ukusetshenziswa kwe-HPVM kungafinyelela ukwanda okukhulu kokukhiqiza. Ukusebenza kwabahumushi be-HPVM kuqhathaniswa nekhodi ye-OpenCL ebhalwe ngesandla yama-GPU namadivayisi ekhompuyutha evekhtha.

Uma kuqhathaniswa nokukhishwa kokubuka kuqala kokuqala, i-HPVM 1.0 ihlanganisa ukusekelwa kokusebenza kwe-algebra tensor, izindawo ezingaphambili ze-Pytorch ne-Keras, ukulinganisa opharetha be-convolution, nohlaka lokushuna oluseduze olukhetha ngokuzenzakalelayo ukulinganisa okuphelele kokusebenza kwe-tensor ethile bese ikhetha ukumisa okunikeza ukusebenza okuphelele.

Source: opennet.ru

Engeza amazwana