LLVM verkefnið kynnti HPVM 1.0, þýðanda fyrir CPU, GPU, FPGA og hraða

Hönnuðir LLVM verkefnisins hafa gefið út útgáfu HPVM 1.0 (Heterogeneous Parallel Virtual Machine) þýðanda, sem miðar að því að einfalda forritun fyrir ólík kerfi og útvega verkfæri til að búa til kóða fyrir örgjörva, GPU, FPGA og lénssértæka vélbúnaðarhraðla (stuðningur við FGPA og eldsneytisgjöf var ekki innifalin í 1.0 útgáfunni). Verkefniskóðanum er dreift undir Apache 2.0 leyfinu.

Meginhugmynd HPVM er að veita samræmda framsetningu samhliða keyranlegra forrita við samantekt, sem hægt er að nota til framkvæmdar með því að nota ýmsar gerðir vélbúnaðar sem styðja samhliða tölvuvinnslu, þar á meðal GPU, vektorleiðbeiningar, fjölkjarna örgjörva, FPGA og ýmsar sérhæfðar hraðaflísar. Ólíkt öðrum kerfum, reyndi HPVM að sameina þrjá möguleika til að skipuleggja ólíka tölvuvinnslu: tungumála- og vélbúnaðaróháða milliframsetningu, sýndarkennslusett arkitektúr (ISA) og tímaáætlun fyrir keyrslutíma.

Markóháð milliframsetning HPVM (IR) byggir á LLVM 9.0 millikennsluframsetningu og stækkar það með stigskiptu gagnaflæðisgrafi til að fanga samhliða verk-, gagna- og leiðslustig. HPVM milliframsetningin inniheldur einnig vektorleiðbeiningar og sameiginlegt minni. Megintilgangur þess að nota milliframsetningu er skilvirk kóðagerð og hagræðing fyrir ólík kerfi.

Sýndarkennslusett arkitektúr (ISA) gerir kleift að flytja milli mismunandi tegunda samhliða tölvubúnaðar og gerir það mögulegt að tapa ekki afköstum þegar mismunandi þættir ólíkra kerfa eru notaðir. Sýndar ISA er einnig hægt að nota til að afhenda alhliða keyranlega forritakóða sem hægt er að keyra með því að nota örgjörva, GPU, FPGA og ýmsa hraða.

Á núverandi þróunarstigi býður HPVM upp á kóðarafla sem geta þýtt forritahnúta sem eru skilgreindir með sýndar-ISA til framkvæmdar með því að nota NVIDIA GPU (cuDNN og OpenCL), Intel AVX vektorleiðbeiningar og fjölkjarna x86 örgjörva. Á keyrslutíma beitir HPVM sveigjanlegum stefnumótunarreglum fyrir reikniferli, útfærðar bæði á grundvelli forritaupplýsinga (myndritabyggingar) og með því að setja saman einstaka forritahnúta til framkvæmdar á hvaða marktölvubúnaði sem er tiltækur í kerfinu.

Það er tekið fram að notkun HPVM getur náð verulegri framleiðniaukningu. Frammistaða HPVM þýðenda er sambærileg við handskrifaðan OpenCL kóða fyrir GPU og vektortölvutæki.

Í samanburði við fyrstu forskoðunarútgáfuna inniheldur HPVM 1.0 stuðning fyrir línulegar algebru tensoraðgerðir, framenda fyrir Pytorch og Keras, nálganir á snúningsrekstraraðila og nálgunarstillingarramma sem velur sjálfkrafa ákjósanlegar nálganir fyrir sérstakar tensoraðgerðir og velur uppsetningu sem veitir bestu frammistöðu.

Heimild: opennet.ru

Bæta við athugasemd