แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™ PoCL 3.0 แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแžฏแž€แžšแžถแž‡แŸ’แž™แž“แŸƒแžŸแŸ’แžแž„แŸ‹แžŠแžถแžš OpenCL 3.0

แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž‚แž˜แŸ’แžšแŸ„แž„ PoCL 3.0 (Portable Computing Language OpenCL) แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž แžถแž‰ แžŠแŸ‚แž›แž”แž„แŸ’แž€แžพแžแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแžŸแŸ’แžแž„แŸ‹แžŠแžถแžš OpenCL แžŠแŸ‚แž›แžฏแž€แžšแžถแž‡แŸ’แž™แž–แžธแž€แŸ’แžšแžปแž˜แž แŸŠแžปแž“แž•แž›แžทแžแžงแž”แž€แžšแžŽแŸแž”แž„แŸ’แž€แžพแž“แž›แŸ’แž”แžฟแž“แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ แž“แžทแž„แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžแžถแž„แž€แŸ’แžšแŸ„แž™แž•แŸ’แžŸแŸแž„แŸ—แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžแžบแžŽแŸ‚แž› OpenCL แž›แžพแž”แŸ’แžšแž—แŸแž‘แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ แž“แžทแž„แž€แžŽแŸ’แžแžถแž›แž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถแŸ” แžขแŸ’แž“แž€แž€แŸ‚แž…แŸ’แž“แŸƒแŸ” แž›แŸแžแž€แžผแžŠแž‚แž˜แŸ’แžšแŸ„แž„แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸ‚แž€แž…แžถแž™แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ MIT แŸ” แž‚แžถแŸ†แž‘แŸ’แžšแž€แžถแžšแž„แžถแžšแž“แŸ…แž›แžพแžœแŸแž‘แžทแž€แžถ X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU แž“แžทแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ†แžŽแžพแžšแž€แžถแžš ASIP (Application-Specific Instruction-set Processor) แž“แžทแž„ TTA (Transport Triggered Architecture) แžŠแŸ‚แž›แž˜แžถแž“แžŸแŸ’แžแžถแž”แžแŸ’แž™แž€แž˜แŸ’แž˜ VLIW แŸ”

แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„แžแžบแžŽแŸ‚แž› OpenCL แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แž“แŸ…แž›แžพแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž“แŸƒ LLVM แž แžพแž™ Clang แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแž‡แžถแž•แŸ’แž“แŸ‚แž€แžแžถแž„แž˜แžปแžแžŸแž˜แŸ’แžšแžถแž”แŸ‹ OpenCL C แŸ” แžŠแžพแž˜แŸ’แž”แžธแž’แžถแž“แžถแž”แžถแž“แž“แžผแžœแž€แžถแžšแž…แž›แŸแž แž“แžทแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž”แžถแž“แžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœ แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„แžแžบแžŽแŸ‚แž› OpenCL แžขแžถแž…แž”แž„แŸ’แž€แžพแžแž˜แžปแžแž„แžถแžšแžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‚แŸ’แž“แžถแžŠแŸ‚แž›แžขแžถแž…แž”แŸ’แžšแžพแž’แž“แž’แžถแž“แž•แŸ’แž“แŸ‚แž€แžšแžนแž„แž•แŸ’แžŸแŸแž„แŸ—แžŠแžพแž˜แŸ’แž”แžธแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แžผแžŠแžŸแŸ’แžšแž”แž‚แŸ’แž“แžถแžŠแžผแž…แž‡แžถ VLIW, superscalar, SIMD, SIMT, multi-core แž“แžทแž„ multi-threading แŸ” แž˜แžถแž“แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹ ICD drivers (Installable Client Driver)แŸ” แž˜แžถแž“แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžแžถแž„แž€แŸ’แžšแŸ„แž™แžŠแžพแž˜แŸ’แž”แžธแž‚แžถแŸ†แž‘แŸ’แžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžแžถแž˜แžšแž™แŸˆ 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

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹