ΠΡΠΎΠ΅ΠΊΡΠΎΡ LLVM Π³ΠΎ ΠΎΠ±ΡΠ°Π²ΠΈ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° HPVM 2.0 (Π₯Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°), ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ ΡΠΈΡΠ° ΡΠ΅Π» Π΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ΡΠΎ Π·Π° Ρ Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ΄ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, FPGA ΠΈ Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π΄ΠΎΠΌΠ΅Π½. ΠΡΠΎΠ΅ΠΊΡΠ½ΠΈΠΎΡ ΠΊΠΎΠ΄ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° Apache 2.0.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ΡΠΎ Π·Π° Ρ Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½ΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΅ ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠΈΡΠ°Π½ΠΎ ΠΎΠ΄ ΠΏΡΠΈΡΡΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π²ΠΎ ΠΈΡΡΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π°ΡΠ΅ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΠΌ (ΡΠ°Π΄ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΠΈΡΠ½.), ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΊΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ. Π‘Π΅ΠΊΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ²ΠΎΡΠ° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΠ° ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. ΠΠ»Π°Π²Π½Π°ΡΠ° ΠΈΠ΄Π΅ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ HPVM Π΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½Π° ΡΠ΅ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΈΠ·Π²ΡΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° Ρ Π°ΡΠ΄Π²Π΅Ρ ΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠ°Π΄ΡΠ΅Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, FPGA ΠΈ ΡΠ°Π·Π½ΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Π·Π° Π·Π°Π±ΡΠ·ΡΠ²Π°ΡΠ΅.
ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ, HPVM ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° Ρ Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½ΠΈ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ° - ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΠΊ ΠΈ Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠ½Π° ΡΡΠ΅Π΄Π½ΠΎ ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ (IR), Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΊΠΈ ΡΠ΅Ρ (V-ISA) ΠΈ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ Π½Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°:
- Π‘ΡΠ΅Π΄Π½ΠΎΡΠΎ ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° HPVM Π³ΠΎ ΠΏΡΠΎΡΠΈΡΡΠ²Π° ΡΡΠ΅Π΄Π½ΠΎΡΠΎ ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° LLVM Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠΊΠΈ Π³ΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΡΠΎΡΠΎΠΊ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π΄Π° ΡΠ΅ Π΄ΠΎΠ»ΠΎΠ²ΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΌΠΎΡ Π½Π° Π½ΠΈΠ²ΠΎΠ°ΡΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈ, ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ Π½Π°ΡΡΠΎΠ²ΠΎΠ΄ΠΈ. Π‘ΡΠ΅Π΄Π½ΠΎΡΠΎ ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° HPVM ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°. ΠΠ»Π°Π²Π½Π°ΡΠ° ΡΠ΅Π» Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΡΠ΅Π΄Π½ΠΎ ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π΅ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π·Π° Ρ Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
- ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ (V-ISA) Π°ΠΏΡΡΡΠ°Ρ ΠΈΡΠ° Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠΈ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΠΌ ΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ°ΠΌΠΎ ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΠΌ - Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΎΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. V-ISA Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΡΠ΅ ΠΏΡΠ΅Π½ΠΎΡΠ»ΠΈΠ²ΠΎΡΡ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ ΠΎΠΏΡΠ΅ΠΌΠ° Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π½Π΅ ΡΠ΅ Π³ΡΠ±Π°Ρ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΏΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° Ρ Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠΈΡΡΡΠ΅Π»Π½ΠΈΠΎΡ ISA, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π΄Π° ΡΠ΅ ΠΈΡΠΏΠΎΡΠ°ΡΠ° ΡΠ½ΠΈΠ²Π΅ΡΠ·Π°Π»Π΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΠΊΠΎΠ΄ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, FPGA ΠΈ ΡΠ°Π·Π½ΠΈ Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠΈ.
- Π€Π»Π΅ΠΊΡΠΈΠ±ΠΈΠ»Π½ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ Π·Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΠΊΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π°Π°Ρ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΈ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° (ΡΡΡΡΠΊΡΡΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΎΡ) ΠΈ ΠΏΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·Π»ΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ ΠΎΠ΄ ΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΊΠΈ ΡΡΠ΅Π΄ΠΈ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ΄ ΡΠ°Π·Π²ΠΈΠ΅Π½ΠΈ ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΈ Π΄Π° ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°Π°Ρ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠΊΠΈ ΡΠ°Π·Π»ΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π΅Π½ ISA Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° NVIDIA (cuDNN ΠΈ OpenCL), ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° Π²Π΅ΠΊΡΠΎΡ Π½Π° Intel AVX, FPGA ΠΈ ΠΌΡΠ»ΡΠΈ-ΡΠ°Π΄ΡΠ΅Π½ΠΈ x86 ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ. ΠΠ°Π±Π΅Π»Π΅ΠΆΠ°Π½ΠΎ Π΅ Π΄Π΅ΠΊΠ° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°ΡΠΈΡΠ΅ Π½Π° HPVM ΡΠ΅ ΡΠΏΠΎΡΠ΅Π΄Π»ΠΈΠ²ΠΈ ΡΠΎ ΡΠ°ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΎΡ OpenCL ΠΊΠΎΠ΄ Π·Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΠΈ Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΊΠΈ ΡΡΠ΅Π΄ΠΈ.
ΠΠ»ΡΡΠ½ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ Π½Π° HPVM 2.0:
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ Ρ Π΅ΡΠ΅ΡΠΎ-C++ ΡΠ°Π·ΠΈΡΠ΅Π½ ΠΏΡΠ΅Π΄Π΅Π½ Π΄Π΅Π», ΠΊΠΎΡ ΡΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π²ΠΎ C/C++ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ° Π²ΠΎ HPVM. Hetero-C++ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΠΈ Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΠΌ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΠΏΡΠ΅ΡΠ»ΠΈΠΊΡΠ²Π°Π°Ρ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈΡΠ΅ Π½Π° Π½ΠΈΡΠΊΠΈΡΠ΅ Π½Π° HPVM.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ FPGA Π·Π°Π΄Π½ΠΈΠ½Π° Π·Π° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π½Π° Intel FPGA. ΠΠ° Π΄Π° ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅, ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Intel FPGA SDK Π·Π° OpenCL.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΡΠ°ΠΌΠΊΠ°ΡΠ° DSE (Design Space Exploration), ΠΊΠΎΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΈΡΠ΅ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΠ½ΠΈΡΠ΅ Π³ΡΠ»Π° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ ΠΏΠΎΠ΄Π΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° Π΄Π°Π΄Π΅Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. Π Π°ΠΌΠΊΠ°ΡΠ° ΡΠΎΠ΄ΡΠΆΠΈ Π³ΠΎΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π·Π° FPGA ΠΎΠ΄ Intel ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π·Π° ΡΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΠΎΠ΄ HPVM. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π°Ρ ΠΈ Π½Π° Π½ΠΈΠ²ΠΎΠ°ΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΎΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ HPVM ΠΈ LLVM.
- ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° LLVM ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°Π½ΠΈ Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° 13.0.
- ΠΠΎΠ΄ΠΎΡ Π΅ ΡΠ΅ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ Π΄Π²ΠΈΠΆΠΈΡΠ΅ Π½ΠΈΠ· Π±Π°Π·Π°ΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΠΈ ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ.
- ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°, Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ Π½ΠΎΠ²ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° HPVM.
ΠΠ·Π²ΠΎΡ: opennet.ru