αααααα LLVM ααΆααααααΆαααΈααΆαα ααααααΆα HPVM 2.0 (Heterogeneous Parallel Virtual Machine) αααααΆαααααα·ααΈα ααααααααααΆααααααααααααα½αααΆαααααααααααα·ααΈαααααΆααααααααααααααααααααΆ αα·ααααααα§ααααααααααΎαααΌααααααΆαα CPUs GPUs FPGAs αα·αα§ααααααααααΎαααααΏααααααααΉαααΆααααΆαααααααα ααΌαααααααααααΌαααΆαα ααα αΆααααααα’αΆααααΆααααα Apache 2.0 α
ααΆαααααααααααα·ααΈαααααΆαααααααααααααΆαααΆα‘αααα»αααααααΆααΆαααΆααααα»αααααΆααααααΆαααααααΆααα αααα»αααααααααααΌα ααααΆαααααΆαααΆααααααααΎααααΌαααααααααΆαααααΆααααΆααααααα ααΆαααΌαααΆαααααααααΆ (ααααΌααααΈααΈααΌ ααΆαααααΆαααα·α ααα GPU ααα) αααα»αααΆαααααΆαααααααααααΆ αα·αααΆααΆαα»ααααα’αααα αα αΆαααααααααααΆα ααααααααααΈαα½ααααααΎααΆααα½αααααααααααΆααααΆαααααααΆαααΆαα»ααΆαααααα αααα·αα αααααααααααα HPVM ααΊααααΌαααααΎααααΆαααααα½αααααα½ααααααααα·ααΈαααααααΎαααΆαααααααααΆαα αααα ααααα αααα’αΆα ααααΌαααΆαααααΎαααααΆαααααααααααααααααααααααΉααααααΆαααααα»αααααΌααααααΆαααΆα‘αα αα½αααΆαα GPUs ααΆαααααΆαααα·α ααα ααααΎαααΆααα α»ααααΌα FPGA αα·α αααααααααααΈαααααΎαααααΏαα―ααααααααααα
αα·αααΌα αααααααααααααααααα HPVM ααΆαααααΆααΆααααα αΌαααααΆααΌααααααααΆαααΈαααααΆαααααα αααΆαααααΆαα»αααααααΆ - ααΆααΆααααααααααα·ααΈ αα·αααΆαααααΆαααααα·ααααααα―αααΆααααααααααΉα (IR) ααααΆαααααααααααα»αααΆαααααΆααα·αααα·α (V-ISA) αα·αααΆαααααααααααααΎαααΆαα
- ααααΆαααααα·αααααα HPVM αααααΈαααΆαααααΆαααααα·αααααα LLVM ααααΆαααααΆααααααααΎααααΆα ααααα αΌααα·ααααααααΆαααΆααΆαα»αααα ααΎααααΈα αΆααααααΆαααααααααΆαα ααααα·αααΆααα·α αα αα·αααααα αα·ααααααα ααααΆαααααα·αααααα HPVM αααα½ααααα αΌαααΆαααααΆαααα·α ααα αα·αα’αααα αα αΆααααααΆαα ααααααααααααα αααααααααααΆααααααΆαααααΎααααΆααααααΆαααααα·ααααααααΊααΆααααααΎαααΌαααααααααααααα·αααααΆα αα·αααΆααααααΎαααααα·αααααΆααααααΆααααααααααααααααααααΆα
- ααααΆαααααααααααα»αααΆαααααΆααα·αααα·α (V-ISA) αααααααααααααααααααΉαααααα·αααΆα αα·αααααα½αααααα½αααααααααααααααααΆαααααααααΆ αα·αααααΆααααααααα’αααα αα αΆααααααααΎααααααΌαααΆαααΆα‘ααααΌαααααΆαααα»ααααα ααααΆα ααααα αΌααα·ααααααα V-ISA α’αα»ααααΆαα±ααα’ααααααααα ααΆαααΌαααΆαα ααααααΆαα§ααααααααααααααααΆααααΆαααααΆαααΆαααΆα‘αα αα·αααααΎα±ααααΆα’αΆα ααααΎαα ααΆααα·αα±ααααΆαααααααααΎαααΆααα αααααααΎααΆαα»αααααααααΆαααααααααααααααΌαα Virtual ISA ααα’αΆα ααααΌαααΆαααααΎααΎααααΈαααααααΌααααααα·ααΈαααα’αΆα ααααα·ααααα·ααΆαααΆααααααα’αΆα ααααΎαααΆααααααααΎ CPUs, GPUs, FPGAs αα·αα§ααααααααααΎαααααΏαααααααα
- αααααΆααααααααααΆααα·ααΆααααα’αΆα ααααααααΆααααααΆααααααΎαααΆαααααΆααααΌαααΆαα’αα»αααααα αααααααΎαααΆα α αΎαααααΌαααΆαα’αα»ααααααΆααααα’ααααΎααααααΆαα’αααΈαααααα·ααΈ (αα ααΆααααααααααααΆα αα) αα·αααΆααααααΆαα αααααααααΆαααααααα·ααΈααΈαα½αααααααΆααααααΎαααΆαααΎα§ααααααα»αααααΌαααααααα ααΆαα½ααααααΆααα αααα»αααααααααα
αααΆαααΈααααααΎαααΌαααααααααΎαα‘αΎααααααααααααΆααααααααΆααααα»αααΆαααααααααααΆαααααααα·ααΈαααααΆαααααααααααααΎ ISA αα·αααα·ααααααΆααααΆαααααα·ααααα·αααααααΎ NVIDIA GPUs (cuDNN αα·α OpenCL), ααΆαααααΆαααα·α ααα Intel AVX, FPGAs αα·α multi-core x86 CPUs α ααΆααααΌαααΆαααααααααΆααααΆααααΎαααΆαααααα’ααααααααα HPVM ααΊα’αΆα αααααααααα ααΉαααΌα OpenCL ααααααααααααααααααΆαα GPU αα·αα§αααααααααΆααα·α αααα
ααΆαα αααααααα·αααααΆααααααα HPVM 2.0α
- αααααααΆααα»αααααΆααΆ Hetero-C++ ααααΌαααΆαααααΎα‘αΎα ααααα½αααααα½αααΆαααααααααΆααααΌααααααα·ααΈαα αααα»α C/C++ αααααΆααααΆαα ααααααα αααα»α HPVM α Hetero-C++ αααααααααααααααααααααΆαααααΆαααΆα‘ααααααα·ααα·αααααα αα·ααα·α αα ααΆαααΆααΆαα»αααααααααααΎαααααΈαα ααΉαααααΆα αααααααααα‘αΆα HPVM α
- αααααα·ααΈααΆαααααα FPGA ααααΌαααΆαααααααααΎααααΈαααααααΆαααΆαααααααααΆααααΆαααααα·ααααα·ααΌααα ααΎ Intel FPGAs α ααΎααααΈαααα αααΆαααααα·ααααα· Intel FPGA SDK αααααΆαα OpenCL ααααΌαααΆαααααΎα
- ααααααααα DSE (Design Space Exploration) ααααΌαααΆααααααα ααααα½αααΆαααΆααααααΎαααααα·αααααΆααααααα·ααΈα ααααα αα·αααααααΆααααααΆαααααααα’ααααααααΆααααα αΆαααααααααΆαααααααα·ααΈαααααααΌααααααααααααααααα·αααααΆαααααα·ααΆαααααααΉααααααΆααααααα±ααα αααααααααααΆαααααΌααααα·ααααα·ααΆααααααααααα½α ααΆααααα αααααΆαα FPGAs ααΈ Intel αα·αααααΎα±ααααΆα’αΆα ααααΆααααααααααααααΎαααΆαααααΆαααααα½αααααα’ααααααααΆααααΆααααααΎαααααα·αααααΆααααααΆααα§αααααααΆαα½ααααααΆααααααα HPVM α ααΆααααααΎαααααα·αααααΆαα’αΆα ααααΌαααΆαα’αα»ααααααΆααααααα·αααααΆα ααα·αααα αΌααα·αααααα HPVM αα·α LLVM α
- αααΆαααΆαα» LLVM ααααΌαααΆαααααΎαα αα α»ααααααααΆααα αααα 13.0 α
- ααΌαααααΌαααΆααααα αα‘αΎααα·αααΎααααΈααααΎα±ααααΆααΆααααααΆααααα½ααααα»αααΆααα»αααααΌαααααΆαααΌα αααααΆααα αα·αα§αααααααααΎααααΆααα
- α αααααΆαα ααΆααααααααααααΆαααααΎαααααααααΌαααΆαααααΎα±αααααααΎαα‘αΎα ααΆαααααΎαααααααααΈααααΌαααΆααααααααααααΆαααααΆαααΆαα» HPVM ααααααα
ααααα: opennet.ru