I-HPVM 2.0, inhlanganisela ye-CPU, i-GPU, i-FPGA nezisheshisi zehadiwe ezishicilelwe

Iphrojekthi ye-LLVM imemezele ukukhishwa kwe-HPVM 2.0 (Heterogeneous Parallel Virtual Machine), umdidiyeli okuhloswe ngawo ukwenza lula izinhlelo zezinhlelo ezihlukahlukene futhi inikeze amathuluzi okukhiqiza amakhodi ama-CPU, ama-GPU, ama-FPGA, kanye nama-accelerator aqondene nesizinda esithile. Ikhodi yephrojekthi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0.

Ukuhlelwa kwezinhlelo ezihlukene ezihambisanayo kuyinkimbinkimbi ukuba khona kwezingxenye ohlelweni olufanayo olusebenzisa amamodeli ahlukene ukuze kuzuzwe ukufana (ama-CPU cores, imiyalelo ye-vector, i-GPU, njll.), amasethi eziyalezo ahlukene kanye nezigaba zenkumbulo ezihlukene. Uhlelo ngalunye lusebenzisa inhlanganisela yalo yalezi zingxenye. Umqondo oyinhloko wephrojekthi ye-HPVM ukusebenzisa isethulo esibumbene sezinhlelo ezenziwa ngokufanayo lapho kuhlanganiswa, esingasetshenziselwa izinhlobo ezahlukahlukene zehadiwe esekela 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 izamile ukuhlanganisa amakhono amathathu okuhlela ikhompuyutha ehlukahlukene - ulimi lokuhlela kanye nokumelwa okuphakathi kwehadiwe (IR), i-virtual instruction set architecture (V-ISA) kanye nokuhlela isikhathi sokusebenza:

  • Ukumelwa okumaphakathi kwe-HPVM kunweba ukumelwa okuphakathi kwe-LLVM kwemiyalo ngokusebenzisa igrafu yokugeleza kwedatha yesigaba ukuze kuthwebule ukufana emsebenzini, idatha, namazinga wamapayipi. 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 (V-ISA) ifushanisa izici zezingxenyekazi zekhompuyutha ezisezingeni eliphansi futhi ihlanganise izinhlobo ezihlukahlukene zokufana nezakhiwo zememori zisebenzisa imodeli eyisisekelo yokufana kuphelaβ€”igrafu yokugeleza kwedatha. I-V-ISA ikuvumela ukuthi ufinyelele ukuphatheka phakathi kwezinhlobo ezahlukene zemishini yekhompuyutha efanayo futhi yenza kube nokwenzeka ukuthi ungalahlekelwa ukusebenza lapho usebenzisa izakhi ezihlukene zezinhlelo ezihlukahlukene. I-Virtual ISA ingaphinda isetshenziselwe ukuletha ikhodi yohlelo olusebenzisekayo jikelele olungasebenza kusetshenziswa ama-CPU, ama-GPU, ama-FPGA, nama-accelerator ahlukahlukene.
  • Izinqubomgomo zokuhlela eziguquguqukayo zenqubo yokubala zisetshenziswa ngesikhathi sokusebenza futhi zisetshenziswa kokubili ngokusekelwe olwazini olumayelana nohlelo (isakhiwo segrafu) nangokuhlanganisa amanodi ohlelo angawodwana ukuze asetshenziswe kunoma imaphi amadivaysi ekhompuyutha aqondiwe atholakala ohlelweni.

Abakhiqizi bekhodi abathuthukiswe iphrojekthi bayakwazi ukuhumusha izindawo zohlelo lokusebenza ezichazwe kusetshenziswa i-ISA ebonakalayo ukuze kwenziwe kusetshenziswa i-NVIDIA GPUs (cuDNN ne-OpenCL), imiyalelo ye-Intel AVX vector, ama-FPGA kanye nama-multi-core x86 CPUs. Kuyaphawulwa ukuthi ukusebenza kwabahumushi be-HPVM kuqhathaniswa nekhodi ye-OpenCL ebhalwe ngesandla yama-GPU namadivayisi ekhompuyutha ye-vector.

Okuqanjwe kabusha okubalulekile kwe-HPVM 2.0:

  • Kuphakanyiswe indawo engaphambili yolimi ye-Hetero-C++, eyenza lula ukufana kwekhodi yohlelo lokusebenza ku-C/C++ ukuze ihlanganiswe ku-HPVM. I-Hetero-C++ ichaza izandiso zokufana kweleveli yedatha nemisebenzi ye-hierarchical efaka imephu kumagrafu ochungechunge lwe-HPVM.
  • I-backend ye-FPGA yengeziwe ukuze inikeze ukwesekwa kokwenziwa kwekhodi kuma-Intel FPGAs. Ukuze uhlele ukubulawa, kusetshenziswa i-Intel FPGA SDK ye-OpenCL.
  • Uhlaka lwe-DSE (Design Space Exploration) lwengeziwe, oluhlanganisa ukuthuthukiswa komhlanganisi nezindlela zokuhlonza izingqinamba zokulungisa ngokuzenzakalelayo izinhlelo zokusebenza zengxenyekazi yehadiwe enikeziwe. Uhlaka luqukethe imodeli yokusebenza eseyenziwe ngomumo yama-FPGAs avela ku-Intel futhi lenza kube nokwenzeka ukuxhuma amaphrosesa akho ukuze asetshenziswe ngokugcwele kunoma imaphi amadivaysi asekelwa i-HPVM. Ukuthuthukisa kungasetshenziswa kuwo womabili amaleveli egrafu okugeleza kwedatha ye-HPVM kanye ne-LLVM.
  • Izingxenye ze-LLVM zibuyekezelwe enguqulweni engu-13.0.
  • Ikhodi ihlelwe kabusha ukuze kube lula ukuzulazula kusisekelo sekhodi, amalabhulali, nezinsiza.
  • Ingqalasizinda yokuhlola isithuthukisiwe, izivivinyo ezintsha zengeziwe zezingxenye ezihlukahlukene ze-HPVM.

Source: opennet.ru

Engeza amazwana