HPVM 2.0, isku-duwaha CPU, GPU, FPGA iyo dardar-geliyayaasha qalabka la daabacay

Mashruuca LLVM wuxuu soo bandhigay sii deynta HPVM 2.0 (Heterogeneous Parallel Virtual Machine), oo loogu talagalay fududaynta barnaamijyada nidaamyada kala duwan iyo bixinta aaladaha soo saarista koodka CPU-yada, GPU-yada, FPGAs, iyo dardar-geliyayaasha hardware-ga gaarka ah. Xeerka mashruuca waxaa lagu qaybiyaa shatiga Apache 2.0.

Barnaamijaynta nidaamyada isbarbar-dhigga ee kala duwani waa mid dhib badan iyadoo ay ugu wacan tahay joogitaanka hal nidaam oo ka kooban qaybo adeegsada noocyo kala duwan si loo gaaro isbarbardhigga (cores CPU, tilmaamaha vector, GPU-yada, iwm.), hagitaanno kala duwan, iyo kala sareynta xusuusta kala duwan. Nidaam kastaa wuxuu isticmaalaa isku-dhafka u gaarka ah ee qaybahan. Fikradda ugu weyn ee mashruuca HPVM waa in la isticmaalo si loo soo ururiyo matalaad midaysan oo ah barnaamijyada barbar socda kuwaas oo loo isticmaali karo noocyo kala duwan oo qalab ah oo taageera xisaabinta barbar-dhigga, oo ay ku jiraan GPU-yada, tilmaamaha vector, soo-saareyaal badan, FPGAs, iyo takhasusyo kala duwan. chips dardargeliyaha.

Si ka duwan nidaamyada kale, HPVM waxay isku dayday inay isku darto saddex fursadood oo lagu abaabulo xisaabinta kala duwan - matalaad dhexdhexaad ah (IR), hab dhismeedka hab-dhismeedka hab-dhismeedka (V-ISA), iyo jadwalka runtime, oo ka madax bannaan luqadda barnaamijka iyo qalabka:

  • Matalaadda dhexe ee HPVM waxa ay fidisaa matalaadda dhexe ee tilmaamaha LLVM iyada oo la isticmaalayo garaaf socodka xogta kala sareynta si loo qabto isbarbardhigga heerka hawlaha, xogta, iyo dhuumaha xisaabinta. Matalaadda dhexe ee HPVM waxa kale oo ka mid ah tilmaamaha vector iyo xusuusta la wadaago. Ujeedada ugu weyn ee isticmaalka matalaada dhexe waa abuurista kood wax ku ool ah iyo hagaajinta nidaamyada kala duwan.
  • Farsamaynta Farsamaynta Farshaxanka (V-ISA) waxay soo saartaa qalab heer hoose ah waxayna midaysaa noocyo kala duwan oo isbarbardhig iyo qaabdhismeed xusuusta iyadoo la adeegsanayo kaliya moodeelka hoose ee isku midka ah, Sawirka Socodka Xogta. V-ISA waxay u ogolaataa in ay ku guulaysato la qaadi karo inta u dhaxaysa noocyada kala duwan ee hardware ee xisaabinta barbar socda oo ka dhigaysa in aan la lumin waxqabadka marka la isticmaalayo xubno kala duwan ee hababka kala duwan. Virtual ISA waxa kale oo loo istcimaali karaa in lagu keeno barnaamijka kood la fulin karo oo ku shaqayn kara CPU-yada, GPU-yada, FPGA-yada, iyo dardar-geliyayaasha kala duwan.
  • Nidaamyada jadwal xisaabinta dabacsanaan ayaa lagu dabaqaa wakhtiga runtime waxaana lagu fuliyaa iyadoo lagu salaynayo macluumaadka barnaamijka (qaab dhismeedka garaafyada) iyo iyadoo la ururinayo noodhka barnaamijka gaarka ah si loo fuliyo mid ka mid ah aaladaha xisaabinta bartilmaameedka ee laga heli karo nidaamka.

Soo-saareyaasha koodka ee uu mashruucu sameeyay ayaa awood u leh in ay tarjumaan qanjidhada codsiyada ee lagu qeexay iyadoo la adeegsanayo ISA-ga la taaban karo ee fulinta iyadoo la adeegsanayo NVIDIA GPUs (cuDNN iyo OpenCL), tilmaamaha vector Intel AVX, FPGAs, iyo x86 CPUs-badan. Waxaa la xusay in waxqabadka natiijooyinka tarjumaannada HPVM ay la mid tahay koodhka OpenCL ee gacanta loo qoray ee GPU-yada iyo aaladaha xisaabinta vector.

Hal-abuurka ugu muhiimsan ee HPVM 2.0:

  • Afka hore ee Hetero-C++ ayaa la soo jeediyay, kaas oo fududaynaya isbarbardhigga koodhka codsiga C/C++ ee lagu ururinayo HPVM. Hetero-C++ wuxuu qeexayaa kordhinta isbarbardhigga heerka xogta iyo hawlaha kala sareynta ee lagu sawiray garaafyada dunta HPVM.
  • Taageerada FPGA ayaa lagu daray si ay u taageerto fulinta koodka Intel FPGA. Si loo abaabulo fulinta, Intel FPGA SDK ee OpenCL ayaa la isticmaalaa.
  • Qaab dhismeedka DSE (Sahaminta Meelaynta Naqshadeynta) ayaa lagu daray, kaas oo ay ku jiraan hagaajinta kombuyuutarrada iyo hababka ogaanshaha cirridka ee si toos ah loogu hagaajinayo codsiyada madal qalabaysan. Qaab dhismeedka wuxuu ka kooban yahay qaab hawleedka diyaarsan ee FPGA ee Intel wuxuuna kuu ogolaanayaa inaad ku xidho soo-saareyaashaada si aad u wanaajiso qalab kasta oo ay taageerto HPVM. Hagaajinta waxaa lagu dabaqi karaa labadaba heerka garaafka xogta socodka HPVM iyo heerka LLVM.
  • Qaybaha LLVM waxaa lagu cusboonaysiiyay nooca 13.0.
  • Koodhka dib ayaa loo habeeyey si loo fududeeyo in la dhex maro codebase, maktabadaha, iyo adeegyada.
  • Kaabayaasha tijaabada waa la wanaajiyey, tijaabooyin cusub ayaa lagu daray qaybo kala duwan oo HPVM ah.

Source: opennet.ru

Add a comment