OpenCL เชงเซ‹เชฐเชฃเชจเชพ เชธเซเชตเชคเช‚เชคเซเชฐ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชธเชพเชฅเซ‡ PoCL 5.0 เชฐเชฟเชฒเซ€เช

PoCL 5.0 เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ (เชชเซ‹เชฐเซเชŸเซ‡เชฌเชฒ เช•เชฎเซเชชเซเชฏเซเชŸเชฟเช‚เช— เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เช“เชชเชจเชธเซ€เชเชฒ) เชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ OpenCL เชธเซเชŸเชพเชจเซเชกเชฐเซเชกเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ‡ เชตเชฟเช•เชธเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เช—เซเชฐเชพเชซเชฟเช•เซเชธ เชเช•เซเชธเชฟเชฒเชฐเซ‡เชŸเชฐ เช‰เชคเซเชชเชพเชฆเช•เซ‹เชฅเซ€ เชธเซเชตเชคเช‚เชคเซเชฐ เช›เซ‡ เช…เชจเซ‡ เชตเชฟเชตเชฟเชง เชชเซเชฐเช•เชพเชฐเชจเชพ เช—เซเชฐเชพเชซเชฟเช•เซเชธ เช…เชจเซ‡ เช•เซ‡เชจเซเชฆเซเชฐเซ€เชฏ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซ‹ เชชเชฐ OpenCL เช•เชฐเซเชจเชฒเซ‹เชจเซ‡ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชตเชฟเชง เชฌเซ‡เช•เชเชจเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. . เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช•เซ‹เชก MIT เชฒเชพเชฏเชธเชจเซเชธ เชนเซ‡เช เชณ เชตเชฟเชคเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. VLIW เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชธเชพเชฅเซ‡ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU เช…เชจเซ‡ เชตเชฟเชตเชฟเชง เชตเชฟเชถเชฟเชทเซเชŸ ASIP (เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ-เชธเซเชชเซ‡เชธเชฟเชซเชฟเช• เช‡เชจเซเชธเซเชŸเซเชฐเช•เซเชถเชจ-เชธเซ‡เชŸ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ) เช…เชจเซ‡ TTA (เชŸเซเชฐเชพเชจเซเชธเชชเซ‹เชฐเซเชŸ เชŸเซเชฐเชฟเช—เชฐ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ) เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซเชธ เชชเชฐ เช•เชพเชฎเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡.

OpenCL เช•เชฐเซเชจเชฒ เช•เชฎเซเชชเชพเช‡เชฒเชฐเชจเซเช‚ เช…เชฎเชฒเซ€เช•เชฐเชฃ LLVM เชจเชพ เช†เชงเชพเชฐเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เช…เชจเซ‡ OpenCL C เชฎเชพเชŸเซ‡ เชซเซเชฐเชจเซเชŸ เชเชจเซเชก เชคเชฐเซ€เช•เซ‡ เช•เซเชฒเซ‡เช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡. เชฏเซ‹เช—เซเชฏ เชชเซ‹เชฐเซเชŸเซ‡เชฌเชฟเชฒเชฟเชŸเซ€ เช…เชจเซ‡ เช•เชพเชฎเช—เซ€เชฐเซ€ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, OpenCL เช•เชฐเซเชจเชฒ เช•เชฎเซเชชเชพเช‡เชฒเชฐ เช•เซ‹เชฎเซเชฌเชฟเชจเซ‡เชถเชจ เชซเช‚เช•เซเชถเชจเซเชธ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เช•เซ‹เชก เชเช•เซเชเชฟเช•เซเชฏเซเชถเชจเชจเซ‡ เชธเชฎเชพเช‚เชคเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชตเชฟเชง เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ VLIW, superscalar, SIMD, SIMT, เชฎเชฒเซเชŸเซ€-เช•เซ‹เชฐ เช…เชจเซ‡ เชฎเชฒเซเชŸเซ€-เชฅเซเชฐเซ‡เชกเซ€เช‚เช—. ICD เชกเซเชฐเชพเช‡เชตเชฐเซ‹ (เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชฌเชฒ เช•เซเชฒเชพเชฏเชจเซเชŸ เชกเซเชฐเชพเช‡เชตเชฐ) เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช›เซ‡. CPU, ASIP (TCE/TTA), HSA เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชชเชฐ เช†เชงเชพเชฐเชฟเชค GPU เช…เชจเซ‡ NVIDIA GPU (libcuda เชฆเซเชตเชพเชฐเชพ) เชฆเซเชตเชพเชฐเชพ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชฌเซ‡เช•เชเชจเซเชก เช›เซ‡.

เชจเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃเชฎเชพเช‚:

  • เชเช• เชจเชตเซเช‚ "เชฐเชฟเชฎเซ‹เชŸ" เชฌเซ‡เช•เชเชจเซเชก เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เชชเซƒเชทเซเช เชญเซ‚เชฎเชฟ pocld เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชšเชฒเชพเชตเชคเชพ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐเชจเชพ เช…เชจเซเชฏ เชฏเชœเชฎเชพเชจเซ‹เชจเซ‡ OpenCL เช†เชฆเซ‡เชถเซ‹เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€เชจเซ‡ เชตเชฟเชคเชฐเชฟเชค เช•เชฎเซเชชเซเชฏเซเชŸเชฟเช‚เช—เชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เช›เซ‡.
  • CUDA เชกเซเชฐเชพเชˆเชตเชฐ OpenCL 3.0 เชจเชพ เชตเชงเชพเชฐเชพเชจเชพ เชฒเช•เซเชทเชฃเซ‹ เช…เชจเซ‡ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชจเซ‹ เช…เชฎเชฒ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ เชเชŸเซ‹เชฎเชฟเช• เช“เชชเชฐเซ‡เชถเชจเซเชธ, เชธเซเช•เซ‹เชชเซเชก เชตเซ‡เชฐเชฟเชฏเซ‡เชฌเชฒเซเชธ, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier, เช…เชจเซ‡ sub_group_ballot.
  • RISC-V เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชชเชฐ เช†เชงเชพเชฐเชฟเชค CPUs เชฎเชพเชŸเซ‡ เชธเซเชงเชพเชฐเซ‡เชฒ เช†เชงเชพเชฐ. LLVM 2 เช…เชจเซ‡ GCC 23.10 เชธเชพเชฅเซ‡ เช‰เชฌเซเชจเซเชŸเซ 17 เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชธเชพเชฅเซ‡ เชฒเซ‹เชก เชฅเชฏเซ‡เชฒ Starfive VisionFive 13.2 เชฌเซ‹เชฐเซเชก เชชเชฐ PoCL เช“เชชเชฐเซ‡เชถเชจเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚.
  • cl_ext_float_atomics เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ FP32 เช…เชจเซ‡ FP64 เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡.
  • cl_khr_command_buffer เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชจเซเช‚ เช…เชฎเชฒเซ€เช•เชฐเชฃ เช†เชตเซƒเชคเซเชคเชฟ 0.9.4 เชฎเชพเช‚ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡.
  • FPGAs เชฎเชพเชŸเซ‡ เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช• AlmaIF เชฌเซ‡เช•เชเชจเซเชกเชจเซ€ เชฆเชฐเช–เชพเชธเซเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡.
  • SPIR 1.x/2.0 เชถเซ‡เชกเชฐเชจเซ€ เชฎเชงเซเชฏเชตเชฐเซเชคเซ€ เชฐเชœเซ‚เช†เชค เชฎเชพเชŸเซ‡ เช…เชชเซ‚เชฐเซเชฃ เชธเชฎเชฐเซเชฅเชจ เชฆเซ‚เชฐ เช•เชฐเซเชฏเซเช‚. SPIR-V เชจเซ‡ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡เชฒ เชฎเชงเซเชฏเชตเชฐเซเชคเซ€ เชถเซ‡เชกเชฐ เชญเชพเชทเชพ เชคเชฐเซ€เช•เซ‡ เชœเชพเชนเซ‡เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡.
  • Clang/LLVM 17.0 เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เช†เชงเชพเชฐ. เช•เซเชฒเซ‡เช‚เช—/LLVM 10-13 เชฎเชพเชŸเซ‡เชจเซ‹ เช†เชงเชพเชฐ เชจเชพเชชเชธเช‚เชฆ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹