HPVM 2.0, compilator pro CPU, GPU, FPGA et ferramenta acceleratores publici iuris fecerunt

Proiectum LLVM denuntiavit emissionem HPVM 2.0 (Parallel Virtualis Machina heterogenea), compilator destinavit programmandi simplicem ad systemata heterogenea et instrumenta generationis codicem praebens pro CPUs, GPUs, FPGAs, et acceleratoribus ferramentis domain specialibus. Propositum signum sub Apache 2.0 licentia distribuitur.

Programmatio pro systematis parallelis heterogeneis perplexa est, praesentia partium in eadem ratione, quae diversis exemplaribus ad parallelismum obtinendum (CPU coros, instructiones vectoris, GPU, etc.), variae institutiones ponit ac diversae hierarchiae memoriae. Unaquaeque ratio suo compositione horum partium utitur. Praecipua idea consilii HPVM est ut una repraesentatione programmatis parallelo-executorum componendis utatur, quae adhiberi potest pro variis ferramentorum generibus, quae computationi parallelae sustinet, incluso GPUs, vectoris instructionibus, processoribus multi-core, FPGAs et variis specialioribus accelerator abutatur.

Dissimiles aliae systemata, HPVM tres facultates coniungere conati sunt ad computationem heterogeneam - programmandi linguam et ferramenta-independentem repraesentationem intermediam (IR), institutio virtualis architecturae (V-ISA) et cursorium schedulingarum:

  • Intermedia HPVM repraesentatio LLVM extendit repraesentationem intermediam instructionum, utendo graphi gradali notitiae hierarchicae ad capiendos parallelismum ad munus, datam et pipelines gradus. Intermedia repraesentatio HPVM includit etiam instructiones vector et memoriam communicatam. Praecipua propositio mediae repraesentationis utendi causa efficiens est codici generationis et optimiizationis pro systematibus heterogeneis.
  • Virtualis Instructio Pone Architectura (V-ISA) lineamenta ferramentorum humili gradu abstrahit et varias formas parallelismi et architecturae memoriae coniungit utendo solum exemplar parallelismi fundamentalis β€” graphi notitiae fluentis. V-ISA permittit vos efficere portabilitatem inter varias rationes paramentorum ad computationem parallelarum et efficit ut non amittas effectum cum diversis elementis systematum heterogeneorum utens. Virtualis ISA adhiberi potest etiam ad exemplar programmatis universalis tradendi qui currere potest utentibus CPUs, GPUs, FPGAs et variis acceleratoribus.
  • Flexibiles schedulinges rationes ad processum computationale in runtime applicantur et perficiuntur utraque in informatione de programmatis (graphi structura) et per compilationem singularum nodis programmatis ad executionem in quolibet scopo computandi machinis quae in systemate praesto sunt.

Codices generatores per consilium elaboraverunt capaces applicationis nodis transferendis definitis utentes virtualis ISA ad executionem NVIDIA GPUs (cuDNN et OpenCL), Intel AVX vector instructiones, FPGAs et multi-core x86 CPUs. Notatur observantiam interpretum HPVM comparare cum codice manu scripto OpenCL pro GPUs et vectoris machinis computandis.

Clavis rerum novarum HPVM 2.0:

  • A fronte linguae hetero-C proposita est, quae simpliciorem facit parallelizationem applicationis codicis in C/C++ pro compilatione in HPVM. Hetero-C ++ extensiones pro parallelismo et operibus hierarchicis quae tabula ad HPVM graphorum filorum definit.
  • Backendula FPGA addita est ad sustentationem codicis de Intel FPGAs subsidia. Ad executionem ordinare, Intel FPGA SDK pro OpenCL adhibetur.
  • DSE (Design Space explorationis) compage addita est, quae compilator optimizationum et machinarum comprehendit ad cognoscendas ampullas ad applicationes automatice pro suggestu ferrario dato. In compage exemplarem FPGAs ex Intel fectio promptum continet et efficit ut processus tuos conectere possit ad optimas artes quibuslibet machinis HPVM suffulti. Optimizationes applicari possunt tum ad HPVM et LLVM dataflui graphi gradus.
  • Partes LLVM renovatae sunt ad versionem 13.0.
  • Codex ordinatus est ut facilius codicem basis, bibliothecae et utilitas navigaret.
  • Probatio infrastructurae emendata est, novae probationes pro variis HPVM componentibus additae sunt.

Source: opennet.ru