Mae datblygwyr y prosiect LLVM wedi cyhoeddi rhyddhau casglwr HPVM 1.0 (Peiriant Rhithwir Cyfochrog Heterogenaidd), gyda'r nod o symleiddio rhaglennu ar gyfer systemau heterogenaidd a darparu offer ar gyfer cynhyrchu cod ar gyfer CPUs, GPUs, FPGAs a chyflymwyr caledwedd parth-benodol (cymorth i Ni chynhwyswyd FGPAs a chyflymwyr yn y datganiad 1.0 ). Mae cod y prosiect yn cael ei ddosbarthu o dan drwydded Apache 2.0.
Prif syniad HPVM yw darparu cynrychiolaeth unedig o raglenni gweithredadwy cyfochrog wrth lunio, y gellir eu defnyddio i'w gweithredu gan ddefnyddio 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: cynrychiolaeth ganolraddol annibynnol ar iaith a chaledwedd, pensaernïaeth set gyfarwyddiadau rhithwir (ISA), ac amserlennu amser rhedeg.
Mae cynrychiolaeth ganolradd-annibynnol (IR) HPVM yn adeiladu ar gynrychioliad cyfarwyddyd canolradd LLVM 9.0 ac yn ei ymestyn gyda graff llif data hierarchaidd i ddal paraleliaeth lefel tasg, data a phiblinell. 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'r bensaernïaeth set gyfarwyddiadau rhithwir (ISA) yn caniatáu cludadwyedd rhwng gwahanol fathau o galedwedd cyfrifiadurol 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.
Ar y cam datblygu presennol, mae HPVM yn cynnig generaduron cod sy'n gallu cyfieithu nodau cymhwysiad a ddiffinnir gan ddefnyddio ISA rhithwir i'w gweithredu gan ddefnyddio GPUs NVIDIA (cuDNN ac OpenCL), cyfarwyddiadau fector Intel AVX a CPUs x86 aml-graidd. Ar amser rhedeg, mae HPVM yn cymhwyso polisïau amserlennu prosesau cyfrifiadol hyblyg, a weithredir yn seiliedig ar wybodaeth rhaglen (strwythur graff) a thrwy lunio nodau rhaglen unigol i'w gweithredu ar unrhyw un o'r dyfeisiau cyfrifiadura targed sydd ar gael yn y system.
Nodir y gall y defnydd o HPVM gyflawni cynnydd sylweddol mewn cynhyrchiant. Mae perfformiad cyfieithwyr HPVM yn debyg i god OpenCL wedi'i ysgrifennu â llaw ar gyfer GPUs a dyfeisiau cyfrifiadurol fector.
O'i gymharu â'r datganiad rhagolwg cyntaf, mae HPVM 1.0 yn cynnwys cefnogaeth ar gyfer gweithrediadau tensor algebra llinol, blaenau ar gyfer Pytorch a Keras, brasamcanion gweithredwr convolution, a fframwaith tiwnio brasamcan sy'n dewis y brasamcanion gorau posibl yn awtomatig ar gyfer gweithrediadau tensor penodol ac yn dewis y cyfluniad sy'n darparu'r perfformiad gorau posibl.
Ffynhonnell: opennet.ru
