HPVM 2.0, tu'ufa'atasi mo PPU, GPU, FPGA ma masini fa'avavevave fa'asalalauina

O le poloketi a le LLVM na faʻalauiloaina le tuʻuina atu o le HPVM 2.0 (Heterogeneous Parallel Virtual Machine), o se tuʻufaʻatasiga e faʻatatau i le faʻafaigofieina o polokalame mo faiga faʻapitoa ma tuʻuina atu meafaigaluega faʻavae mo PPU, GPU, FPGAs, ma faʻapipiʻi masini faʻapitoa. O le fa'ailoga o le poloketi o lo'o tufatufaina i lalo ole laisene Apache 2.0.

Polokalama mo faiga tutusa eseese e faigata ona o le i ai o vaega i totonu o le faiga lava lea e tasi e faʻaogaina faʻataʻitaʻiga eseese mo le ausiaina o le tutusa (CPU cores, vector instructions, GPU, ma isi), seti faʻatonuga eseese ma faʻasologa o mafaufauga eseese. E fa'aogaina e faiga ta'itasi lana lava tu'ufa'atasiga o vaega nei. O le manatu autu o le poloketi HPVM o le faʻaaogaina lea o se faʻataʻitaʻiga tuʻufaʻatasia o polokalame tutusa-faʻatinoina pe a tuʻufaʻatasia, lea e mafai ona faʻaaogaina mo ituaiga eseese o meafaigaluega e lagolago ai komipiuta tutusa, e aofia ai GPU, faʻatonuga vector, tele-core processors, FPGAs ma meataalo fa'apitoa fa'apitoa eseese.

E le pei o isi faiga, HPVM taumafai e tu'ufa'atasia ni agava'a se tolu mo le fa'atulagaina o komipiuta eseese - o se gagana fa'apolokalame ma meafaigaluega-tuto'atasi-tuto'atasi suitulaga (IR), fa'atonuga fa'ata'ita'iga seti fausaga (V-ISA) ma le fa'atulagaina o taimi:

  • O le HPVM va'ava'ai sui fa'alautele le LLVM va'ava'ai fa'atusa o fa'atonuga e ala i le fa'aogaina o le fa'asologa o fa'amaumauga fa'asolosolo kalafi e pu'e tutusa ai i le galuega, fa'amaumauga, ma tulaga o paipa. Ole sui ole HPVM e iai fo'i fa'atonuga fa'atonu ma manatua fa'asoa. O le fa'amoemoega autu o le fa'aogaina o se sui fa'ava-o-malo o le fa'atupuina lelei o le fa'asologa o tulafono ma le fa'asilisiliina o faiga fa'apitoa.
  • Virtual Instruction Set Architecture (V-ISA) o lo'o fa'auluina ai fa'amatalaga o meafaigaluega maualalo ma tu'ufa'atasia ituaiga eseese o fa'ata'ita'iga ma fa'ata'ita'iga manatua e fa'aaoga ai na'o se fa'ata'ita'iga fa'ata'ita'i fa'atusa—o le kalafi fa'asologa o fa'amaumauga. V-ISA faʻatagaina oe e ausia le faʻaogaina i le va o ituaiga eseese o meafaigaluega mo komipiuta tutusa ma mafai ai ona le leiloa le faʻatinoga pe a faʻaaogaina elemene eseese o faiga faʻapitoa. E mafai fo'i ona fa'aoga le Virtual ISA e tu'uina atu ai le fa'atonuga o polokalame fa'atino lautele e mafai ona fa'aogaina i le fa'aogaina o PPU, GPU, FPGA, ma fa'avavevave eseese.
  • O faiga fa'atulagaina fetu'una'i mo le fa'agasologa o fa'asologa o lo'o fa'aaogaina i le taimi fa'atino ma fa'atino uma e fa'atatau i fa'amatalaga e uiga i le polokalame (fa'asologa o le kalafi) ma ala i le tu'ufa'atasia o nodes o polokalame ta'ito'atasi mo le fa'atinoina i so'o se masini komepiuta fa'amoemoe o lo'o maua i le faiga.

O generators code ua atiaʻe e le poloketi e mafai ona faʻaliliuina nodes talosaga ua faʻamalamalamaina e faʻaaoga ai se ISA virtual mo le faʻaaogaina o le NVIDIA GPUs (cuDNN ma OpenCL), Intel AVX vector faatonuga, FPGAs ma multi-core x86 CPUs. O lo'o maitauina o le fa'atinoga o fa'aliliuga a le HPVM e fa'atusaina i le fa'ailoga OpenCL tusilima mo GPU ma masini fa'akomepiuta vector.

Fa'afouga autu o le HPVM 2.0:

  • O le pito i luma o le gagana Hetero-C++ ua fa'ailoa mai, e fa'afaigofie ai le fa'atusaina o le fa'ailoga tusi talosaga i le C/C++ mo le tu'ufa'atasia i le HPVM. O le Hetero-C++ o loʻo faʻamatalaina faʻaopoopoga mo faʻamaumauga-tulaga tutusa ma galuega faʻatulagaina e faʻafanua i kalafi filo HPVM.
  • O le FPGA pito i tua ua faʻaopoopoina e tuʻuina atu le lagolago mo le faʻatinoina o tulafono ile Intel FPGAs. Ina ia faʻatulagaina le faʻatinoga, o le Intel FPGA SDK mo OpenCL e faʻaaogaina.
  • O le DSE (Design Space Exploration) ua fa'aopoopoina, lea e aofia ai le tu'ufa'atasia o fa'ata'ita'iga ma faiga mo le fa'ailoaina o fagufagu mo le fa'aogaina otometi o talosaga mo se tu'ufa'atasiga meafaigaluega. O le auivi o loʻo i ai se faʻataʻitaʻiga faʻataʻitaʻiga saunia mo FPGA mai Intel ma mafai ai ona faʻafesoʻotaʻi au lava gaioiga mo le faʻaleleia atili mo soʻo se masini e lagolagoina e HPVM. E mafai ona fa'aoga fa'atonuga ile HPVM ma le LLVM fa'asologa o kalafi fa'amaumauga.
  • O vaega LLVM ua toe fa'afouina ile version 13.0.
  • O le code ua toe fa'atulagaina ina ia fa'afaigofie ai le fa'atautaia o le code base, faletusi, ma mea aoga.
  • Ua fa'aleleia atili le atina'e o su'ega, ua fa'aopoopoina su'ega fou mo vaega eseese o le HPVM.

puna: opennet.ru

Faaopoopo i ai se faamatalaga