Pulojekiti ya LLVM idayambitsa HPVM 1.0, yopanga ma CPU, GPU, FPGA ndi ma accelerator.

Omwe amapanga pulojekiti ya LLVM asindikiza kutulutsidwa kwa compiler ya HPVM 1.0 (Heterogeneous Parallel Virtual Machine), yomwe cholinga chake ndi kufewetsa mapulogalamu a machitidwe osiyanasiyana ndikupereka zida zopangira ma CPU, GPUs, FPGAs ndi ma accelerators amtundu wamtundu wina (kuthandizira kwa Ma FGPA ndi ma accelerator sanaphatikizidwe pakutulutsidwa kwa 1.0). Khodi ya polojekitiyi imagawidwa pansi pa layisensi ya Apache 2.0.

Lingaliro lalikulu la HPVM ndikupereka chiwonetsero chogwirizana cha mapulogalamu omwe angagwiritsidwe ntchito popanga, omwe angagwiritsidwe ntchito kupha pogwiritsa ntchito mitundu yosiyanasiyana ya zida zomwe zimathandizira ma computing ofanana, kuphatikiza ma GPU, malangizo a vector, mapurosesa amitundu yambiri, FPGAs ndi tchipisi tapadera ta accelerator. Mosiyana ndi machitidwe ena, HPVM inayesa kuphatikiza mphamvu zitatu zokonzekera makompyuta osiyanasiyana: chinenero- ndi hardware-independent intermediate representation, virtual instruction set architecture (ISA), ndi runtime scheduling.

HPVM's target-independent intermediate representation (IR) imamanga pa LLVM 9.0 yoyimira malangizo apakatikati ndikuikulitsa ndi graph ya data flow graph kuti ijambule kufanana kwa ntchito, data, ndi mapaipi. Kuyimilira kwapakatikati kwa HPVM kumaphatikizanso malangizo a vector komanso kukumbukira komwe kumagawana. Cholinga chachikulu chogwiritsira ntchito chiwonetsero chapakatikati ndichopanga ma code abwino komanso kukhathamiritsa kwa machitidwe osiyanasiyana.

Zomangamanga zamakompyuta (ISA) zimalola kusuntha pakati pa mitundu yosiyanasiyana ya zida zamakompyuta zofananira ndipo zimapangitsa kuti zisamataye ntchito mukamagwiritsa ntchito zinthu zosiyanasiyana. Virtual ISA itha kugwiritsidwanso ntchito popereka ma code apulogalamu onse omwe amatha kugwiritsa ntchito ma CPU, ma GPU, ma FPGA, ndi ma accelerator osiyanasiyana.

Pakali pano chitukuko, HPVM imapereka makina opanga ma code omwe amatha kumasulira ma node ogwiritsira ntchito pogwiritsa ntchito ISA yeniyeni yogwiritsira ntchito NVIDIA GPUs (cuDNN ndi OpenCL), malangizo a Intel AVX vekitala ndi ma CPU ambiri x86. Panthawi yothamanga, HPVM imagwiritsa ntchito ndondomeko zosinthika zamakompyuta, zomwe zimagwiritsidwa ntchito potengera chidziwitso cha pulogalamu (mawonekedwe a ma graph) komanso polemba ma node a pulogalamu kuti agwiritse ntchito pazida zilizonse zomwe zikugwiritsidwa ntchito pakompyuta.

Zikudziwika kuti kugwiritsa ntchito HPVM kungathe kukwaniritsa kuwonjezeka kwakukulu kwa zokolola. Kagwiridwe ka ntchito ka omasulira a HPVM akufanana ndi code ya OpenCL yolembedwa pamanja ya ma GPU ndi zida zamakompyuta vekitala.

Poyerekeza ndi kutulutsa kowoneratu koyamba, HPVM 1.0 imaphatikizanso chithandizo cha ma linear algebra tensor operations, frontends for Pytorch and Keras, convolution opareta approximations, and approximation tuning framework yomwe imadzisankha yokha kuyerekezera koyenera kwa magwiridwe antchito apadera ndikusankha masinthidwe omwe amapereka magwiridwe antchito abwino.

Source: opennet.ru

Kuwonjezera ndemanga