ืืคืชืื ืคืจืืืงื LLVM ืคืจืกืื ืืช ืฉืืจืืจื ืฉื ืืืืจ HPVM 1.0 (Heterogeneous Parallel Virtual Machine), ืฉืืืจืชื ืืคืฉื ืชืื ืืช ืขืืืจ ืืขืจืืืช ืืืจืืื ืืืช ืืืกืคืง ืืืื ืืืคืงืช ืงืื ืขืืืจ CPUs, GPUs, FPGAs ืืืืืฆื ืืืืจื ืกืคืฆืืคืืื ืืชืืื (ืชืืืื ื- FGPAs ืืืืืฆืื ืื ื ืืืื ืืืืืืจืช 1.0). ืงืื ืืคืจืืืงื ืืืคืฅ ืชืืช ืจืืฉืืื Apache 2.0.
ืืจืขืืื ืืืจืืื ืฉื HPVM ืืื ืืกืคืง ืืืฆืื ืืืื ืฉื ืชืืื ืืืช ืื ืืชื ืืช ืืืจืฆื ืืงืืืืืช ืืขืช ืืืืืืจ, ืฉื ืืชื ืืืฉืชืืฉ ืืื ืืืืฆืืข ืืืืฆืขืืช ืกืืืื ืฉืื ืื ืฉื ืืืืจื ืืชืืืืื ืืืืฉืื ืืงืืืื, ืืืื GPUs, ืืืจืืืช ืืงืืืจืืืช, ืืขืืืื ืืจืืื ืืืืืช, FPGAs ื ืฉืืื ืืืืฅ ืืืืืืื ืฉืื ืื. ืื ืืืื ืืืขืจืืืช ืืืจืืช, HPVM ื ืืกืชื ืืฉืื ืฉืืืฉ ืืืืืืช ืืืจืืื ืืืฉืื ืืืจืืื ื: ืืืฆืื ืืื ืืื ืืืชื ืชืืื ืืฉืคื ืืืืืืจื, ืืจืืืืงืืืจืช ืขืจืืช ืืืจืืืช ืืืจืืืืืืช (ISA) ืืชืืืื ืืื ืจืืฆื.
ืืืฆืื ืืืื ืืื ืืืืชื ืชืืื ืฉื HPVM (IR) ืืืืกืก ืขื ืืืฆืื ืืืจืืืช ืืืื ืืื LLVM 9.0 ืืืจืืื ืืืชื ืขื ืืจืฃ ืืจืืืช ื ืชืื ืื ืืืจืจืื ืืื ืืืืื ืืงืืืืืืช ืืจืืช ืืืฉืืื, ืื ืชืื ืื ืืืฆื ืจืช. ืืืฆืื ืืืื ืืื ืฉื HPVM ืืืื ืื ืืืจืืืช ืืงืืืจืืืช ืืืืืจืื ืืฉืืชืฃ. ืืืืจื ืืขืืงืจืืช ืฉื ืฉืืืืฉ ืืืืฆืื ืืื ืืื ืืื ืืฆืืจืช ืงืื ืืขืื ืืืืคืืืืืืฆืื ืขืืืจ ืืขืจืืืช ืืืจืืื ืืืช.
ืืจืืืืงืืืจืช ืขืจืืช ืืืืจืืืช ืืืืืจืืืืืืช (ISA) ืืืคืฉืจืช ื ืืืืืช ืืื ืกืืืื ืฉืื ืื ืฉื ืืืืจืช ืืืฉืื ืืงืืืืืช ืืืืคืฉืจืช ืื ืืืื ืืืฆืืขืื ืืขืช ืฉืืืืฉ ืืืืื ืืื ืฉืื ืื ืฉื ืืขืจืืืช ืืืจืืื ืืืช. ื ืืชื ืืืฉืชืืฉ ื-Virtual ISA ืื ืืื ืืกืคืง ืงืื ืชืืื ืืช ืืคืขืื ืืื ืืืจืกืื ืฉืืืื ืืคืขืื ืืืืฆืขืืช CPUs, GPUs, FPGAs ืืืืืฆืื ืฉืื ืื.
ืืฉืื ืืคืืชืื ืื ืืืื, HPVM ืืฆืืขื ืืืืืื ืงืื ืืืกืืืืื ืืชืจืื ืฆืืชื ืืืฉืืืื ืืืืืืจืื ืืืืฆืขืืช ISA ืืืจืืืืื ืืืืฆืืข ืืืืฆืขืืช NVIDIA GPUs (cuDNN ื-OpenCL), ืืืจืืืช ืืงืืืจ ืฉื Intel AVX ืืืขืืื x86 ืืจืืื ืืืืืช. ืืืื ืจืืฆื, HPVM ืืืืฉืืช ืืืื ืืืช ืืืืฉื ืฉื ืชืืืื ืชืืืืื ืืืฉืื, ืืืืืฉืืช ืื ืขื ืกืื ืืืืข ืชืืื ืืช (ืืื ื ืืจืฃ) ืืื ืืืืฆืขืืช ืงืืืคืืืฆืื ืฉื ืฆืืชื ืชืืื ืืช ืืืืืื ืืืืฆืืข ืืื ืืื ืืืชืงื ื ืืืฉืื ืืืขื ืืืืื ืื ืืืขืจืืช.
ืืฆืืื ืื ืืฉืืืืฉ ื-HPVM ืืืื ืืืฉืื ืขืืืื ืืฉืืขืืชืืช ืืคืจืืื. ืืืืฆืืขืื ืฉื ืืชืจืืื HPVM ืืืืื ืืงืื OpenCL ืืืชื ืื ืขืืืจ GPUs ืืืชืงื ื ืืืฉืื ืืงืืืจืืื.
ืืืฉืืืื ืืืืืืจืช ืืชืฆืืื ืืืงืืืื ืืจืืฉืื ื, HPVM 1.0 ืืืื ืชืืืื ืืคืขืืืืช ืื ืืืจ ืืืืืจื ืืื ืืืจืืืช, ืืืืชืืช ืขืืืจ Pytorch ื-Keras, ืงืืจืืืื ืืืืคืจืืืจ ืงืื ืืืืืฆืื, ืืืกืืจืช ืืืื ืื ืงืืจืื ืฉืืืืจืช ืืืืืืืืช ืงืืจืืืื ืืืคืืืืืืื ืขืืืจ ืคืขืืืืช ืื ืืืจ ืกืคืฆืืคืืืช ืืืืืจืช ืืช ืืชืฆืืจื ืืืกืคืงืช ืืืฆืืขืื ืืืืืืื.
ืืงืืจ: OpenNet.ru