Cyhoeddi HPVM 2.0, casglwr ar gyfer CPU, GPU, FPGA a chyflymwyr caledwedd

Cyhoeddodd y prosiect LLVM ryddhau HPVM 2.0 (Peiriant Rhithwir Cyfochrog Heterogenaidd), casglwr gyda'r nod o symleiddio rhaglennu ar gyfer systemau heterogenaidd a darparu offer cynhyrchu cod ar gyfer CPUs, GPUs, FPGAs, a chyflymwyr caledwedd parth-benodol. Mae cod y prosiect yn cael ei ddosbarthu o dan drwydded Apache 2.0.

Mae rhaglennu ar gyfer systemau cyfochrog heterogenaidd yn cael ei gymhlethu gan bresenoldeb cydrannau yn yr un system sy'n defnyddio modelau gwahanol ar gyfer cyflawni paraleliaeth (creiddiau CPU, cyfarwyddiadau fector, GPU, ac ati), setiau cyfarwyddiadau gwahanol a hierarchaethau cof gwahanol. Mae pob system yn defnyddio ei chyfuniad ei hun o'r cydrannau hyn. Prif syniad y prosiect HPVM yw defnyddio cynrychiolaeth unedig o raglenni a weithredir yn gyfochrog wrth lunio, y gellir ei ddefnyddio ar gyfer gwahanol fathau o galedwedd sy'n cefnogi cyfrifiadura cyfochrog, gan gynnwys GPUs, cyfarwyddiadau fector, proseswyr aml-graidd, FPGAs a amrywiol sglodion cyflymydd arbenigol.

Yn wahanol i systemau eraill, ceisiodd HPVM gyfuno tri gallu ar gyfer trefnu cyfrifiadura heterogenaidd - iaith raglennu a chynrychiolaeth ganolraddol annibynnol ar galedwedd (IR), pensaernΓ―aeth set gyfarwyddiadau rhithwir (V-ISA) ac amserlennu amser rhedeg:

  • Mae cynrychiolaeth ganolraddol HPVM yn ymestyn cynrychiolaeth ganolraddol LLVM o gyfarwyddiadau trwy ddefnyddio graff llif data hierarchaidd i ddal paraleliaeth ar lefelau tasg, data a phiblinellau. Mae cynrychiolaeth ganolradd HPVM hefyd yn cynnwys cyfarwyddiadau fector a chof a rennir. Prif bwrpas defnyddio cynrychiolaeth ganolraddol yw cynhyrchu cod effeithlon ac optimeiddio ar gyfer systemau heterogenaidd.
  • Mae PensaernΓ―aeth Setiau Cyfarwyddiadau Rhithwir (V-ISA) yn crynhoi nodweddion caledwedd lefel isel ac yn uno gwahanol fathau o gyfochrogrwydd a phensaernΓ―aeth cof gan ddefnyddio model cyfochrogiaeth sylfaenol yn unig - y graff llif data. Mae V-ISA yn eich galluogi i gyflawni hygludedd rhwng gwahanol fathau o offer ar gyfer cyfrifiadura cyfochrog ac yn ei gwneud hi'n bosibl peidio Γ’ cholli perfformiad wrth ddefnyddio gwahanol elfennau o systemau heterogenaidd. Gellir defnyddio ISA Rhithwir hefyd i gyflwyno cod rhaglen gweithredadwy cyffredinol a all redeg gan ddefnyddio CPUs, GPUs, FPGAs, a chyflymwyr amrywiol.
  • Mae polisΓ―au amserlennu hyblyg ar gyfer y broses gyfrifiannol yn cael eu gweithredu ar amser rhedeg ac yn cael eu gweithredu yn seiliedig ar wybodaeth am y rhaglen (strwythur graff) a thrwy gasglu nodau rhaglen unigol i'w gweithredu ar unrhyw un o'r dyfeisiau cyfrifiadura targed sydd ar gael yn y system.

Mae'r generaduron cod a ddatblygwyd gan y prosiect yn gallu cyfieithu nodau cymhwysiad a ddiffinnir gan ddefnyddio ISA rhithwir i'w gweithredu gan ddefnyddio GPUs NVIDIA (cuDNN ac OpenCL), cyfarwyddiadau fector Intel AVX, FPGAs a CPUs x86 aml-graidd. Nodir bod perfformiad y cyfieithwyr HPVM yn debyg i god OpenCL wedi'i ysgrifennu Γ’ llaw ar gyfer GPUs a dyfeisiau cyfrifiadurol fector.

Arloesiadau allweddol HPVM 2.0:

  • Mae ffryntiad iaith Hetero-C++ wedi'i gynnig, sy'n symleiddio'r broses o gyfochri'r cod cymhwysiad yn C/C++ i'w lunio yn HPVM. Mae Hetero-C++ yn diffinio estyniadau ar gyfer cyfochredd lefel data a thasgau hierarchaidd sy'n mapio i graffiau edau HPVM.
  • Mae backend FPGA wedi'i ychwanegu i ddarparu cefnogaeth ar gyfer gweithredu cod ar Intel FPGAs. I drefnu gweithredu, defnyddir yr Intel FPGA SDK ar gyfer OpenCL.
  • Mae'r fframwaith DSE (Design Space Exploration) wedi'i ychwanegu, sy'n cynnwys optimeiddio casglwyr a mecanweithiau ar gyfer nodi tagfeydd ar gyfer tiwnio cymwysiadau yn awtomatig ar gyfer platfform caledwedd penodol. Mae'r fframwaith yn cynnwys model perfformiad parod ar gyfer FPGAs gan Intel ac yn ei gwneud hi'n bosibl cysylltu eich proseswyr eich hun ar gyfer optimeiddio unrhyw ddyfeisiau a gefnogir gan HPVM. Gellir cymhwyso optimeiddiadau ar lefelau graff llif data HPVM a LLVM.
  • Mae cydrannau LLVM wedi'u diweddaru i fersiwn 13.0.
  • Mae'r cod wedi'i ad-drefnu i'w gwneud hi'n haws llywio'r sylfaen cod, llyfrgelloedd a chyfleustodau.
  • Mae'r seilwaith profi wedi'i wella, mae profion newydd wedi'u hychwanegu ar gyfer gwahanol gydrannau HPVM.

Ffynhonnell: opennet.ru

Ychwanegu sylw