HPVM 2.0, onye nchịkọta maka CPU, GPU, FPGA na ngwaike ngwaike ebipụtara

Ihe oru ngo LLVM webatara ntọhapụ nke HPVM 2.0 (Heterogeneous Parallel Virtual Machine) compiler, nke ezubere ime ka mmemme dị mfe maka sistemụ dị iche iche na inye ngwaọrụ maka ịmepụta koodu maka CPUs, GPUs, FPGAs, na ngalaba ngwa ngwa ngwaike akọwapụtara. A na-ekesa koodu ọrụ n'okpuru ikike Apache 2.0.

Mmemme maka sistemu myirịta dị iche iche gbagwojuru anya n'ihi ọnụnọ n'otu sistemu nke akụrụngwa na-eji ụdị dị iche iche iji nweta myirịta (CPU cores, vector instruction, GPUs, etc.), ntuziaka dị iche iche, yana usoro ebe nchekwa dị iche iche. Usoro ọ bụla na-eji ngwakọta nke akụkụ ndị a. Echiche bụ isi nke ọrụ HPVM bụ iji n'ịchịkọta ihe nnọchianya nke mmemme ndị yiri ya nke enwere ike iji maka ụdị ngwaike dị iche iche na-akwado mgbakọ, gụnyere GPUs, ntụziaka vector, multi-core processors, FPGAs, na ọkachamara dị iche iche. ibe osooso.

N'adịghị ka sistemu ndị ọzọ, HPVM nwara ikpokọta ohere atọ maka ịhazi mgbakọ dị iche iche - ihe nnọchi anya etiti (IR), ihe nrụpụta ihe nkuzi mebere (V-ISA), na nhazi oge, n'adabereghị na asụsụ mmemme na akụrụngwa:

  • Nnọchite anya etiti HPVM na-agbatị nnochite anya etiti nke ntuziaka LLVM site na iji eserese data nrịba elu iji weghara myirịta n'ogo nke ọrụ, data, na pipeline mgbakọ. Nnọchite anya etiti HPVM tinyekwara ntuziaka vector na ebe nchekwa ekekọrịtara. Ebumnuche bụ isi nke iji nnochite anya etiti bụ mmepụta koodu nke ọma na njikarịcha maka sistemu dị iche iche.
  • Virtual Instruction Set Architecture (V-ISA) na-ewepụta ngwaike dị ala ma na-ejikọ ụdị dị iche iche nke myirịta na ihe owuwu ebe nchekwa na-eji naanị ihe nrịba ama n'okpuru, eserese Data Flow. V-ISA na-enye ohere iji nweta ikike n'etiti ụdị ngwaike dị iche iche maka kọmpụta yiri ya ma na-eme ka ọ ghara ịla n'iyi mgbe ị na-eji ihe dị iche iche nke sistemu dị iche iche. A nwekwara ike iji Virtual ISA wepụta koodu mmemme nwere ike ịgba ọsọ na CPU, GPUs, FPGA na ngwa ngwa dị iche iche.
  • A na-etinye atumatu usoro nhazi usoro mgbakọ na mwepụ na-agbanwe agbanwe ma na-emejuputa ya ma dabere na ozi gbasara mmemme (usoro eserese) yana site n'ịchịkọta ọnụ mmemme nke onye ọ bụla maka igbu na ngwaọrụ ọ bụla ezubere iche dị na sistemụ.

Ndị na-emepụta koodu nke ọrụ ahụ mepụtara nwere ike ịsụgharị ọnụ ngwa ngwa akọwapụtara site na iji ISA mebere maka igbu ya site na iji NVIDIA GPUs (cuDNN na OpenCL), ntụziaka vector Intel AVX, FPGAs, na multi-core x86 CPUs. Achọpụtara na arụmọrụ nke nsonaazụ ndị ntụgharị HPVM dị ka koodu OpenCL ejiri aka dee maka GPU na ngwaọrụ mgbakọ vector.

Isi ihe ọhụrụ nke HPVM 2.0:

  • A na-atụpụta ihu ihu asụsụ Hetero-C++, nke na-eme ka myirịta nke koodu ngwa C/C++ dị mfe maka mkpokọta na HPVM. Hetero-C++ na-akọwa ndọtị maka myirịta ọkwa ọkwa data na ọrụ nhazi nke etinyere na eserese eriri HPVM.
  • Agbakwunyela azụ azụ FPGA iji kwado mkpochapụ koodu na Intel FPGA. Iji hazie ogbugbu a, a na-eji Intel FPGA SDK maka OpenCL.
  • Agbakwunyela usoro DSE (Design Space Exploration), nke gụnyere njikarịcha ndị nchịkọta na usoro nchọpụta ọkpọ ọkpọ maka ịmegharị ngwa ngwa maka ikpo okwu ngwaike enyere. Usoro ahụ nwere ụdị arụmọrụ emebere maka FPGA sitere na Intel ma na-enye gị ohere ijikọ ndị nrụpụta nke gị maka nkwalite maka ngwaọrụ ọ bụla HPVM na-akwado. Enwere ike itinye nkwalite ma na ọkwa eserese dataflow HPVM yana n'ọkwa LLVM.
  • Ngwa LLVM emelitere na ụdị 13.0.
  • Ahazigharịrị koodu ahụ ka ọ dị mfe ịnyagharịa site na codebase, ọba akwụkwọ, na akụrụngwa.
  • Emeziwanye akụrụngwa maka nnwale, agbakwunyere ule ọhụrụ maka akụkụ HPVM dị iche iche.

isi: opennet.ru

Tinye a comment