HPVM 2.0, inneal-cruinneachaidh airson CPU, GPU, FPGA agus luathaichean bathar-cruaidh air am foillseachadh

Dh’ainmich am pròiseact LLVM gun deach HPVM 2.0 (Heterogeneous Parallel Virtual Machine) a leigeil ma sgaoil, inneal-cruinneachaidh a tha ag amas air prògraman a dhèanamh nas sìmplidhe airson siostaman ioma-ghnèitheach agus a’ toirt seachad innealan gineadh còd airson CPUn, GPUs, FPGAn, agus luathaichean bathar-cruaidh sònraichte. Tha còd a’ phròiseict air a sgaoileadh fo chead Apache 2.0.

Tha prògramadh airson siostaman co-shìnte heterogeneous iom-fhillte le làthaireachd cho-phàirtean san aon shiostam a bhios a’ cleachdadh diofar mhodalan airson co-shìnteachd a choileanadh (CPU cores, stiùireadh vector, GPU, msaa), seataichean stiùiridh eadar-dhealaichte agus diofar rangachd cuimhne. Bidh gach siostam a 'cleachdadh a mheasgachadh fhèin de na co-phàirtean sin. Is e prìomh bheachd a’ phròiseict HPVM riochdachadh aonaichte de phrògraman co-shìnte a chleachdadh nuair a thathar a’ cur ri chèile, a dh’fhaodar a chleachdadh airson diofar sheòrsaichean bathar-cruaidh a bheir taic do choimpiutaireachd co-shìnte, a’ gabhail a-steach GPUn, stiùireadh vector, pròiseasairean ioma-cridhe, FPGAn agus diofar chips luathadair sònraichte.

Eu-coltach ri siostaman eile, dh’ fheuch HPVM ri trì comasan a chur còmhla airson coimpiutaireachd ioma-ghnèitheach a chuir air dòigh - cànan prògramaidh agus riochdachadh eadar-mheadhanach neo-eisimeileach (IR), ailtireachd seata stiùiridh brìgheil (V-ISA) agus clàr-ama ruith:

  • Bidh riochdachadh eadar-mheadhanach HPVM a’ leudachadh riochdachadh eadar-mheadhanach LLVM de stiùireadh le bhith a’ cleachdadh graf sruth dàta rangachaidh gus co-shìnteachd a ghlacadh aig ìrean gnìomh, dàta, agus loidhne-phìoban. Tha riochdachadh eadar-mheadhanach HPVM cuideachd a’ toirt a-steach stiùireadh feòir agus cuimhne co-roinnte. Is e prìomh adhbhar cleachdadh riochdachadh eadar-mheadhanach gineadh còd èifeachdach agus optimization airson siostaman heterogeneous.
  • Bidh Ailtireachd Seata Stiùireadh Brìgheil (V-ISA) a’ toirt geàrr-chunntas air feartan bathar-cruaidh ìre ìosal agus ag aonachadh diofar sheòrsan de cho-shìnteachd agus ailtireachd cuimhne a’ cleachdadh dìreach modal co-shìnteachd bunaiteach - an graf sruthadh dàta. Leigidh V-ISA leat comas giùlain a choileanadh eadar diofar sheòrsaichean uidheamachd airson coimpiutaireachd co-shìnte agus ga dhèanamh comasach gun a bhith a’ call coileanadh nuair a bhios tu a’ cleachdadh diofar eileamaidean de shiostaman heterogeneous. Faodar ISA Mas-fhìor a chleachdadh cuideachd gus còd prògraim so-ghnìomhaichte uile-choitcheann a lìbhrigeadh as urrainn ruith a’ cleachdadh CPUs, GPUs, FPGAn, agus diofar luathaichean.
  • Bithear a’ cur an sàs poileasaidhean clàraidh sùbailte airson a’ phròiseas coimpiutaireachd aig àm ruith agus tha iad air an cur an gnìomh an dà chuid stèidhichte air fiosrachadh mun phrògram (structar graf) agus tro bhith a’ cruinneachadh nodan prògram fa leth airson an cur an gnìomh air gin de na h-innealan coimpiutaireachd targaid a tha rim faighinn san t-siostam.

Tha na gineadairean còd a chaidh a leasachadh leis a’ phròiseact comasach air nodan tagraidh eadar-theangachadh a ’cleachdadh ISA brìgheil airson a chuir gu bàs a’ cleachdadh NVIDIA GPUs (cuDNN agus OpenCL), stiùireadh vector Intel AVX, FPGAn agus ioma-cridhe x86 CPUs. Thathas a’ toirt fa-near gu bheil coileanadh eadar-theangairean HPVM an coimeas ri còd OpenCL làmh-sgrìobhte airson GPUs agus innealan coimpiutaireachd vector.

Prìomh innleachdan HPVM 2.0:

  • Chaidh aghaidh cànain Hetero-C ++ a mholadh, a nì sìmpleachadh air co-shìnteadh còd tagraidh ann an C/C ++ airson a chur ri chèile ann an HPVM. Tha Hetero-C ++ a’ mìneachadh leudachaidhean airson co-shìnteachd ìre dàta agus gnìomhan rangachd a bhios a’ mapadh gu grafaichean snàithlean HPVM.
  • Chaidh backend FPGA a chuir ris gus taic a thoirt do choileanadh còd air Intel FPGAn. Gus cur gu bàs a chuir air dòigh, thathas a’ cleachdadh an Intel FPGA SDK airson OpenCL.
  • Chaidh frèam DSE (Design Space Exploration) a chur ris, a tha a’ toirt a-steach optimizations compiler agus dòighean gus botail a chomharrachadh airson a bhith a’ gleusadh gu fèin-ghluasadach airson tagraidhean airson àrd-ùrlar bathar-cruaidh sònraichte. Anns an fhrèam tha modal dèanadais deiseil airson FPGAn bho Intel agus ga dhèanamh comasach na pròiseasairean agad fhèin a cheangal airson optimization airson innealan sam bith le taic bho HPVM. Faodar optimizations a chuir an sàs aig gach cuid ìrean graf sruth-dàta HPVM agus LLVM.
  • Chaidh co-phàirtean LLVM ùrachadh gu dreach 13.0.
  • Chaidh an còd ath-eagrachadh gus a dhèanamh nas fhasa faighinn thairis air bunait còd, leabharlannan agus goireasan.
  • Chaidh am bun-structar deuchainn a leasachadh, chaidh deuchainnean ùra a chuir ris airson diofar phàirtean HPVM.

Source: fosgailtenet.ru

Cuir beachd ann