Ua hoʻokomo ka papahana LLVM i ka HPVM 1.0, kahi mea hoʻopili no CPU, GPU, FPGA a me nā mea hoʻolalelale.

Ua hoʻopuka nā mea hoʻomohala o ka papahana LLVM i ka hoʻokuʻu ʻana o ka HPVM 1.0 (Heterogeneous Parallel Virtual Machine) compiler, i manaʻo ʻia e hoʻomaʻamaʻa i ka polokalamu no nā ʻōnaehana heterogeneous a me ka hāʻawi ʻana i nā mea hana no ka hana ʻana i nā code no nā CPUs, GPUs, FPGAs a me nā accelerators hardware kikoʻī domain (kākoʻo no ʻAʻole i hoʻokomo ʻia nā FGPA a me nā accelerators i ka hoʻokuʻu 1.0). Hāʻawi ʻia ke code papahana ma lalo o ka laikini Apache 2.0.

ʻO ka manaʻo nui o HPVM ʻo ia ka hāʻawi ʻana i kahi hōʻike like ʻole o nā papahana parallel-executable i ka wā e hōʻuluʻulu ai, hiki ke hoʻohana ʻia no ka hoʻokō ʻana me ka hoʻohana ʻana i nā ʻano mea like ʻole e kākoʻo ana i ka computing parallel, me nā GPU, nā kuhikuhi vector, nā kaʻina hana multi-core, FPGA a me nā ʻāpana hoʻokele kūikawā kūikawā. ʻAʻole like me nā ʻōnaehana ʻē aʻe, ua hoʻāʻo ʻo HPVM e hoʻohui i ʻekolu mau mana no ka hoʻonohonoho ʻana i ka helu helu heterogeneous: ka ʻōlelo-a me ka lako lako-kūʻokoʻa kūʻokoʻa kūʻokoʻa, virtual instruction set architecture (ISA), a me ka manawa holo.

Hoʻokumu ʻia ka hōʻike kikowaena kūʻokoʻa kūʻokoʻa (IR) o HPVM ma luna o ka LLVM 9.0 kuhikuhi waena a hoʻonui iā ia me kahi kiʻi kahe o ka ʻikepili hierarchical e hopu ai i ka hana-, data-, a me ka pipeline-level parallelism. Hoʻokomo pū ʻia ka hōʻike kikowaena HPVM i nā kuhikuhi vector a me ka hoʻomanaʻo like. ʻO ke kumu nui o ka hoʻohana ʻana i kahi hōʻike waena, ʻo ia ka hoʻokumu ʻana i nā code kūpono a me ka optimization no nā ʻōnaehana heterogeneous.

ʻO ka hoʻonohonoho hoʻonohonoho hoʻonohonoho virtual (ISA) hiki ke hiki ke lawe i waena o nā ʻano like ʻole o ka lako kamepiula like ʻole a hiki ke nalowale i ka hana ke hoʻohana ʻia nā mea like ʻole o nā ʻōnaehana heterogeneous. Hiki ke hoʻohana ʻia ʻo Virtual ISA no ka hāʻawi ʻana i ka code program executable universal e hiki ke holo me ka hoʻohana ʻana i nā CPUs, GPUs, FPGAs, a me nā ʻano accelerators.

I kēia manawa o ka hoʻomohala ʻana, hāʻawi ʻo HPVM i nā code generators hiki ke unuhi i nā nodes noi i wehewehe ʻia me ka ISA virtual no ka hoʻokō ʻana me ka NVIDIA GPUs (cuDNN a me OpenCL), nā kuhikuhi vector Intel AVX a me nā CPU x86 multi-core. I ka wā holo, hoʻohana ʻo HPVM i nā kulekele hoʻonohonoho kaʻina hana maʻalahi, i hoʻokō ʻia ma muli o ka ʻike papahana (ka hoʻolālā kiʻi) a ma o ka hōʻuluʻulu ʻana i nā node papahana pākahi no ka hoʻokō ʻana ma kekahi o nā polokalamu kamepiula i loaʻa i ka ʻōnaehana.

Hoʻomaopopo ʻia ʻo ka hoʻohana ʻana i ka HPVM hiki ke hoʻokō i ka piʻi nui o ka huahana. Hoʻohālikelike ʻia ka hana o nā unuhi ʻōlelo HPVM me ka helu OpenCL kākau lima no nā GPU a me nā polokalamu kamepiula vector.

Hoʻohālikelike ʻia i ka hoʻokuʻu mua ʻana, HPVM 1.0 pū kekahi kākoʻo no nā hana tensor algebra linear, frontends no Pytorch a me Keras, convolution operator approximations, a me kahi hoʻonohonoho hoʻonohonoho hoʻohālikelike e koho ʻakomi i nā hoʻohālikelike kūpono no nā hana tensor kikoʻī a koho i ka hoʻonohonoho e hāʻawi i ka hana maikaʻi loa.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka