PoCL 1.4 เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ, OpenCL เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฆเจพ เจ‡เฉฑเจ• เจธเฉเจคเฉฐเจคเจฐ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ

เจ‰เจชเจฒเฉฑเจฌเจง เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฐเฉ€เจฒเฉ€เจœเจผ เจชเฉ‹เจธเฉ€เจเจฒ 1.4 (เจชเฉ‹เจฐเจŸเฉ‡เจฌเจฒ เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจฒเฉˆเจ‚เจ—เฉ‚เจเจœ เจ“เจชเจจเจธเฉ€เจเจฒ), เจœเฉ‹ เจ“เจชเจจเจธเฉ€เจเจฒ เจธเจŸเฉˆเจ‚เจกเจฐเจก เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ—เฉเจฐเจพเจซเจฟเจ•เจธ เจเจ•เจธเจฒเฉ‡เจŸเจฐ เจจเจฟเจฐเจฎเจพเจคเจพเจตเจพเจ‚ เจคเฉ‹เจ‚ เจธเฉเจคเฉฐเจคเจฐ เจนเฉˆ เจ…เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจ—เจฐเจพเจซเจฟเจ•เจธ เจ…เจคเฉ‡ เจ•เฉ‡เจ‚เจฆเจฐเฉ€ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ 'เจคเฉ‡ เจ“เจชเจจเจธเฉ€เจเจฒ เจ•เจฐเจจเจฒ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจตเฉฑเจ–-เจตเฉฑเจ– เจฌเฉˆเจ•เจเจ‚เจกเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ•เฉ‹เจก เจฆเฉเจ†เจฐเจพ เจตเฉฐเจกเจฟเจ† MIT เจฒเจพเจ‡เจธเฉฐเจธ เจฆเฉ‡ เจ…เจงเฉ€เจจ. X86_64, MIPS32, ARM v7, AMD HSA APU เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ เจ…เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจตเจฟเจธเจผเฉ‡เจธเจผ TTA เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ (เจŸเฉเจฐเจพเจ‚เจธเจชเฉ‹เจฐเจŸ เจŸเฉเจฐเจฟเจ—เจฐเจก เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ) เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ‡ เจจเจพเจฒ VLIW.

เจ“เจชเจจเจธเฉ€เจเจฒ เจ•เจฐเจจเจฒ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ LLVM เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ เจ•เจฒเฉˆเจ‚เจ— เจจเฉ‚เฉฐ OpenCL C เจฒเจˆ เจซเจฐเฉฐเจŸ เจเจ‚เจก เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‰เจšเจฟเจค เจชเฉ‹เจฐเจŸเฉ‡เจฌเจฟเจฒเจŸเฉ€ เจ…เจคเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจ“เจชเจจเจธเฉ€เจเจฒ เจ•เจฐเจจเจฒ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฎเจฟเจธเจผเจฐเจจ เจซเฉฐเจ•เจธเจผเจจ เจคเจฟเจ†เจฐ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‹ เจ•เฉ‹เจก เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจจเฉ‚เฉฐ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจตเฉฑเจ–-เจตเฉฑเจ– เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ VLIW, superscalar, SIMD, SIMT, เจฎเจฒเจŸเฉ€-เจ•เฉ‹เจฐ เจ…เจคเฉ‡ เจฎเจฒเจŸเฉ€-เจฅเฉเจฐเฉˆเจกเจฟเฉฐเจ—เฅค ICD เจกเจฐเจพเจˆเจตเจฐ เจธเจนเจพเจ‡เจคเจพ เจ‰เจชเจฒเจฌเจง เจนเฉˆ
(เจ‡เฉฐเจธเจŸเจพเจฒ เจนเฉ‹เจฃ เจฏเฉ‹เจ— เจ•เจฒเจพเจ‡เฉฐเจŸ เจกเจฐเจพเจˆเจตเจฐ)เฅค CPU, ASIP (TCE/TTA), GPU เจ…เจงเจพเจฐเจค เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉเจ†เจฐเจพ เจธเฉฐเจšเจพเจฒเจจ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจฌเฉˆเจ•เจเจ‚เจก เจนเจจ HSA เจ…เจคเฉ‡ NVIDIA GPU (CUDA)เฅค

ะ’ เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ:

  • เจธเจนเจฟเจฏเฉ‹เจ— เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† LLVM/เจ•เจฒเฉˆเจ‚เจ— 9.0. 6.0 เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจฃเฉ‡ LLVM เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค
  • เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจ•เฉ‹เจก เจชเฉเจฐเจธเจคเฉเจคเฉ€เจ†เจ‚ เจฆเฉ‡ CPU-เจ…เจงเจพเจฐเจฟเจค เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ SPIR ะธ เจธเจชเจฟเจฐ-เจตเฉ€ (Vulkan API เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ), เจœเจฟเจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ—เฉเจฐเจพเจซเจฟเจ•เจธ เจ…เจคเฉ‡ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจฒเจˆ เจธเจผเฉˆเจกเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจฃ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ;
  • OpenCL 1.2 เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจเจ•เจธเจฒเฉ‡เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจฐเจฅเจจ เจฆเฉ‡เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจจเจพเจฒ pocl-accel เจกเจฐเจพเจˆเจตเจฐ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ• เจฎเฉˆเจฎเฉ‹เจฐเฉ€-เจฎเฉˆเจชเจก (mmap) เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ;
  • pocl เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ เจœเฉ‹ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚ เจจเจพเจฒ เจจเจนเฉ€เจ‚ เจœเฉเฉœเฉ€เจ†เจ‚ เจนเจจ (เจฐเฉ€เจฒเฉ‹เจ•เฉ‡เจŸเฉ‡เจฌเจฒ)เฅค

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

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