LLVM เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเฉ‡ HPVM 1.0, CPU, GPU, FPGA เจ…เจคเฉ‡ เจเจ•เจธเจฒเฉ‡เจŸเจฐเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพเฅค

LLVM เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‡ HPVM 1.0 (Heterogeneous Parallel Virtual Machine) เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเฉ€ เจฐเฉ€เจฒเฉ€เจœเจผ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ€ เจนเฉˆ, เจœเจฟเจธเจฆเจพ เจ‰เจฆเฉ‡เจธเจผ เจตเจฟเจญเจฟเฉฐเจจ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฒเจˆ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ เจ…เจคเฉ‡ CPUs, GPUs, FPGAs เจ…เจคเฉ‡ เจกเฉ‹เจฎเฉ‡เจจ-เจตเจฟเจธเจผเฉ‡เจธเจผ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจฒเจˆ เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจŸเฉ‚เจฒ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจเจพ เจนเฉˆเฅค 1.0 เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš FGPAs เจ…เจคเฉ‡ เจเจ•เจธเจฒเฉ‡เจŸเจฐ เจธเจผเจพเจฎเจฒ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ)เฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ•เฉ‹เจก เจ…เจชเจพเจšเฉ‡ 2.0 เจฒเจพเจ‡เจธเฉฐเจธ เจฆเฉ‡ เจคเจนเจฟเจค เจตเฉฐเจกเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค

HPVM เจฆเจพ เจฎเฉเฉฑเจ– เจตเจฟเจšเจพเจฐ เจ•เฉฐเจชเจพเจˆเจฒ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ-เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจฆเฉ€ เจ‡เจ•เจธเจพเจฐ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฒเจˆ เจตเจฐเจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ เจœเฉ‹ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจœเจฟเจธ เจตเจฟเฉฑเจš GPU, เจตเฉˆเจ•เจŸเจฐ เจจเจฟเจฐเจฆเฉ‡เจธเจผ, เจฎเจฒเจŸเฉ€-เจ•เฉ‹เจฐ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ, FPGA เจ…เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจตเจฟเจธเจผเฉ‡เจธเจผ เจเจ•เจธเจฒเฉ‡เจŸเจฐ เจšเจฟเจชเจธ. เจนเฉ‹เจฐ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฆเฉ‡ เจ‰เจฒเจŸ, HPVM เจจเฉ‡ เจตเจฟเจชเจฐเฉ€เจค เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฒเจˆ เจคเจฟเฉฐเจจ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€: เจญเจพเจธเจผเจพ- เจ…เจคเฉ‡ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ-เจธเฉเจคเฉฐเจคเจฐ เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€, เจตเจฐเจšเฉเจ…เจฒ เจ‡เฉฐเจธเจŸเฉเจฐเจ•เจธเจผเจจ เจธเฉˆเฉฑเจŸ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ (ISA), เจ…เจคเฉ‡ เจฐเจจเจŸเจพเจˆเจฎ เจธเจฎเจพเจ‚-เจธเจพเจฐเจฃเฉ€เฅค

HPVM เจฆเจพ เจŸเฉ€เจšเจพ-เจธเฉเจคเฉฐเจคเจฐ เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ (IR) LLVM 9.0 เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจ‡เฉฐเจธเจŸเฉเจฐเจ•เจธเจผเจจ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ 'เจคเฉ‡ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจŸเจพเจธเจ•-, เจกเฉ‡เจŸเจพ-, เจ…เจคเฉ‡ เจชเจพเจˆเจชเจฒเจพเจˆเจจ-เจชเฉฑเจงเจฐ เจฆเฉ€ เจธเจฎเจพเจจเจคเจพ เจจเฉ‚เฉฐ เจ•เฉˆเจชเจšเจฐ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจฒเฉœเฉ€เจตเจพเจฐ เจกเฉ‡เจŸเจพ เจชเฉเจฐเจตเจพเจน เจ—เฉเจฐเจพเจซ เจจเจพเจฒ เจ‡เจธ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค HPVM เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ เจตเจฟเฉฑเจš เจตเฉˆเจ•เจŸเจฐ เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจ…เจคเฉ‡ เจธเจผเฉ‡เจ…เจฐเจก เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเจพ เจฎเฉเฉฑเจ– เจ‰เจฆเฉ‡เจธเจผ เจ•เฉเจธเจผเจฒ เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃเจพ เจ…เจคเฉ‡ เจตเจฟเจชเจฐเฉ€เจค เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจนเฉˆเฅค

เจตเจฐเจšเฉเจ…เจฒ เจ‡เฉฐเจธเจŸเฉเจฐเจ•เจธเจผเจจ เจธเฉˆเฉฑเจŸ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ (ISA) เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจชเฉ‹เจฐเจŸเฉ‡เจฌเจฟเจฒเจŸเฉ€ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจตเจฟเจญเจฟเฉฐเจจ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฆเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจคเฉฑเจคเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจจเฉ‚เฉฐ เจ—เฉเจ†เจ‰เจฃเจพ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจฌเจฃเจพเจ‰เจ‚เจฆเจพเฅค เจตเจฐเจšเฉเจ…เจฒ ISA เจจเฉ‚เฉฐ เจฏเฉ‚เจจเฉ€เจตเจฐเจธเจฒ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ•เฉ‹เจก เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฒเจˆ เจตเฉ€ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‹ CPUs, GPUs, FPGAs, เจ…เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจเจ•เจธเฉ€เจฒเฉ‡เจŸเจฐเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจšเฉฑเจฒ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจชเฉœเจพเจ… 'เจคเฉ‡, HPVM NVIDIA GPUs (cuDNN เจ…เจคเฉ‡ OpenCL), Intel AVX เจตเฉˆเจ•เจŸเจฐ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจ…เจคเฉ‡ เจฎเจฒเจŸเฉ€-เจ•เฉ‹เจฐ x86 CPUs เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฐเจšเฉเจ…เจฒ ISA เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‹เจกเจพเจ‚ เจฆเจพ เจ…เจจเฉเจตเจพเจฆ เจ•เจฐเจจ เจฆเฉ‡ เจธเจฎเจฐเฉฑเจฅ เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐเจพเจ‚ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจฐเจจเจŸเจพเจˆเจฎ 'เจคเฉ‡, HPVM เจฒเจšเจ•เจฆเจพเจฐ เจ•เฉฐเจชเจฟเจŠเจŸเฉ‡เจธเจผเจจเจฒ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจธเจฎเจพเจ‚-เจธเจพเจฐเจฃเฉ€ เจจเฉ€เจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจœเจพเจฃเจ•เจพเจฐเฉ€ (เจ—เฉเจฐเจพเจซ เจฌเจฃเจคเจฐ) เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจ…เจคเฉ‡ เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจ‰เจชเจฒเจฌเจง เจ•เจฟเจธเฉ‡ เจตเฉ€ เจŸเจพเจฐเจ—เฉ‡เจŸ เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจกเจฟเจตเจพเจˆเจธเจพเจ‚ 'เจคเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฒเจˆ เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจจเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจ•เฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ‡เจน เจจเฉ‹เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ เจเจšเจชเฉ€เจตเฉ€เจเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ‰เจคเจชเจพเจฆเจ•เจคเจพ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจตเจพเจงเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค HPVM เจ…เจจเฉเจตเจพเจฆเจ•เจพเจ‚ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ GPUs เจ…เจคเฉ‡ เจตเฉˆเจ•เจŸเจฐ เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจฒเจˆ เจนเฉฑเจฅ-เจฒเจฟเจ–เจค เจ“เจชเจจเจธเฉ€เจเจฒ เจ•เฉ‹เจก เจจเจพเจฒ เจคเฉเจฒเจจเจพเจฏเฉ‹เจ— เจนเฉˆเฅค

เจชเจนเจฟเจฒเฉ‡ เจชเฉเจฐเฉ€เจตเจฟเจŠ เจฐเฉ€เจฒเฉ€เจœเจผ เจฆเฉ€ เจคเฉเจฒเจจเจพ เจตเจฟเฉฑเจš, HPVM 1.0 เจตเจฟเฉฑเจš เจฒเฉ€เจจเฉ€เจ…เจฐ เจ…เจฒเจœเจฌเจฐเจพ เจŸเฉˆเจ‚เจธเจฐ เจ“เจชเจฐเฉ‡เจธเจผเจจ, เจชเจพเจˆเจŸเฉ‹เจฐเจš เจ…เจคเฉ‡ เจ•เฉ‡เจฐเจพเจธ เจฒเจˆ เจซเจฐเฉฐเจŸเจเจ‚เจก, เจ•เจจเจตเฉ‹เจฒเจฟเจŠเจธเจผเจจ เจ†เจชเจฐเฉ‡เจŸเจฐ เจ…เจจเฉเจฎเจพเจจ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ…เจจเฉเจฎเจพเจจ เจŸเจฟเจŠเจจเจฟเฉฐเจ— เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจธเจผเจพเจฎเจฒ เจนเฉˆ เจœเฉ‹ เจ†เจชเจฃเฉ‡ เจ†เจช เจนเฉ€ เจ–เจพเจธ เจŸเฉˆเจ‚เจธเจฐ เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒ เจ…เจจเฉเจฎเจพเจจเจพเจ‚ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจตเจพเจฒเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹