เบเบฒเบ™เบ›เปˆเบญเบ PoCL 3.0 เบ”เป‰เบงเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบญเบเบฐเบฅเบฒเบ”เบ‚เบญเบ‡เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ OpenCL 3.0

เบเบฒเบ™เบ›เปˆเบญเบเป‚เบ„เบ‡เบเบฒเบ™ PoCL 3.0 (Portable Computing Language OpenCL) เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบต, เป€เบŠเบดเปˆเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ OpenCL เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฒเบ”เบ‚เบญเบ‡เบœเบนเป‰เบœเบฐเบฅเบดเบ”เป€เบ„เบทเปˆเบญเบ‡เป€เบฅเบฑเปˆเบ‡เบเบฒเบŸเบดเบเปเบฅเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ™เปเบฒเปƒเบŠเป‰ backends เบ•เปˆเบฒเบ‡เป†เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ” OpenCL kernels เปƒเบ™เบ›เบฐเป€เบžเบ”เบ•เปˆเบฒเบ‡เป†เบ‚เบญเบ‡เบเบฒเบŸเบดเบเปเบฅเบฐเบชเบนเบ™เบเบฒเบ‡. เป‚เบฎเบ‡เบ‡เบฒเบ™เบœเบฐเบฅเบดเบ”. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT. เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เป€เบงเบ—เบต X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU เปเบฅเบฐเป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบžเบดเป€เบชเบ” ASIP (Application-Specific Instruction-set Processor) เปเบฅเบฐ TTA (Transport Triggered Architecture) เบ”เป‰เบงเบเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณ VLIW.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ OpenCL kernel compiler เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบšเบปเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ LLVM, เปเบฅเบฐ Clang เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เป‰เบฒเบชเปเบฒเบฅเบฑเบš OpenCL C. เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆเปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก, OpenCL kernel compiler เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบฎเบฒเบ”เปเบงเบ•เปˆเบฒเบ‡เป†เป€เบžเบทเปˆเบญเบ‚เบฐเบซเบ™เบฒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เป€เบŠเบฑเปˆเบ™ VLIW, superscalar, SIMD, SIMT, multi-core เปเบฅเบฐ multi-threading. เบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ ICD drivers (Installable Client Driver). เบกเบต backends เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบœเปˆเบฒเบ™ CPU, ASIP (TCE/TTA), GPU เบญเบตเบ‡เปƒเบชเปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐ HSA เปเบฅเบฐ NVIDIA GPU (เบœเปˆเบฒเบ™ libcuda).

เปƒเบ™โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เปƒเบซเบกเปˆโ€‹:

  • ะ ะตะฐะปะธะทะพะฒะฐะฝ ะผะธะฝะธะผะฐะปัŒะฝั‹ะน ะฝะฐะฑะพั€ ะฒะพะทะผะพะถะฝะพัั‚ะตะน, ั‚ั€ะตะฑัƒะตะผั‹ะน ะดะปั ะฟะพะดะดะตั€ะถะบะธ ัะฟะตั†ะธั„ะธะบะฐั†ะธะธ OpenCL 3.0. ะŸะพะดะดะตั€ะถะบะฐ OpenCL 3.0 ะฟะพะบะฐ ะดะพัั‚ัƒะฟะฝะฐ ั‚ะพะปัŒะบะพ ะฒ ะฑัะบะตะฝะดะต ะฝะฐ ะฑะฐะทะต CPU ะฟั€ะธ ะฝะฐะปะธั‡ะธะธ LLVM 14 (ะฒ ะดั€ัƒะณะธั… ะฑัะบะตะฝะดะฐั… ะธ ะฟั€ะธ ะฝะฐะปะธั‡ะธะธ ัั‚ะฐั€ั‹ั… ะฒะตั€ัะธะน LLVM ะฟั€ะตะดะพัั‚ะฐะฒะปัะตั‚ัั ะฟะพะดะดะตั€ะถะบะฐ OpenCL 1.2).
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš Clang/LLVM 14.
  • ะฃะปัƒั‡ัˆะตะฝะฐ ั‚ั€ะฐััะธั€ะพะฒะบะฐ ะธ ะฒะธะทัƒะฐะปะธะทะฐั†ะธั.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะณะตะฝะตั€ะฐั†ะธะธ ัะฟะตั†ะธะฐะปะธะทะธั€ะพะฒะฐะฝะฝั‹ั… ะณั€ัƒะฟะฟ ั„ัƒะฝะบั†ะธะน ะธ ะฒะบะปัŽั‡ะตะฝะธั ะธั… ะฒ ะธัะฟะพะปะฝัะตะผั‹ะต ั„ะฐะนะปั‹ ั ัะดั€ะฐะผะธ OpenCL.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™