แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™ PoCL 1.4 แžŠแŸ‚แž›แž‡แžถแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแžฏแž€แžšแžถแž‡แŸ’แž™แž“แŸƒแžŸแŸ’แžแž„แŸ‹แžŠแžถแžš OpenCL

แž˜แžถแž“ แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž‚แž˜แŸ’แžšแŸ„แž„ PoCL แŸก.แŸฆ (แž—แžถแžŸแžถแž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแž…แž›แŸแž OpenCL) แžŠแŸ‚แž›แž”แž„แŸ’แž€แžพแžแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแžŸแŸ’แžแž„แŸ‹แžŠแžถแžš OpenCL แžŠแŸ‚แž›แžฏแž€แžšแžถแž‡แŸ’แž™แž–แžธแž€แŸ’แžšแžปแž˜แž แŸŠแžปแž“แž•แž›แžทแžแžงแž”แž€แžšแžŽแŸแž”แž„แŸ’แž€แžพแž“แž›แŸ’แž”แžฟแž“แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ แž“แžทแž„แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž”แŸ’แžšแžพแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžแžถแž„แž€แŸ’แžšแŸ„แž™แž•แŸ’แžŸแŸแž„แŸ—แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžแžบแžŽแŸ‚แž› OpenCL แž›แžพแž”แŸ’แžšแž—แŸแž‘แž•แŸ’แžŸแŸแž„แŸ—แž“แŸƒแž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ แž“แžทแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แžŽแŸ’แžแžถแž›แŸ” แž€แžผแžŠแž‚แž˜แŸ’แžšแŸ„แž„ แž…แŸ‚แž€แž…แžถแž™โ€‹แžŠแŸ„แž™ แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ MIT แŸ” แž‚แžถแŸ†แž‘แŸ’แžšแž€แžถแžšแž„แžถแžšแž“แŸ…แž›แžพ X86_64, MIPS32, ARM v7, AMD HSA APU platforms แž“แžทแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ†แžŽแžพแžšแž€แžถแžš TTA แžฏแž€แž‘แŸแžŸแž•แŸ’แžŸแŸแž„แŸ— (แžŸแŸ’แžแžถแž”แžแŸ’แž™แž€แž˜แŸ’แž˜แž‡แŸ†แžšแžปแž‰แž€แžถแžšแžŠแžนแž€แž‡แž‰แŸ’แž‡แžผแž“) แž‡แžถแž˜แžฝแž™แžŸแŸ’แžแžถแž”แžแŸ’แž™แž€แž˜แŸ’แž˜ VLIW.

แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„แžแžบแžŽแŸ‚แž› OpenCL แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แž“แŸ…แž›แžพแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž“แŸƒ LLVM แž แžพแž™ Clang แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแž‡แžถแž•แŸ’แž“แŸ‚แž€แžแžถแž„แž˜แžปแžแžŸแž˜แŸ’แžšแžถแž”แŸ‹ OpenCL C แŸ” แžŠแžพแž˜แŸ’แž”แžธแž’แžถแž“แžถแž”แžถแž“แž“แžผแžœแž€แžถแžšแž…แž›แŸแž แž“แžทแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž”แžถแž“แžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœ แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„แžแžบแžŽแŸ‚แž› OpenCL แžขแžถแž…แž”แž„แŸ’แž€แžพแžแž˜แžปแžแž„แžถแžšแžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‚แŸ’แž“แžถแžŠแŸ‚แž›แžขแžถแž…แž”แŸ’แžšแžพแž’แž“แž’แžถแž“แž•แŸ’แž“แŸ‚แž€แžšแžนแž„แž•แŸ’แžŸแŸแž„แŸ—แžŠแžพแž˜แŸ’แž”แžธแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แžผแžŠแžŸแŸ’แžšแž”แž‚แŸ’แž“แžถแžŠแžผแž…แž‡แžถ VLIW, superscalar, SIMD, SIMT, multi-core แž“แžทแž„ multi-threading แŸ” แž˜แžถแž“แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถ ICD
(แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž—แŸ’แž‰แŸ€แžœแžŠแŸ‚แž›แžขแžถแž…แžŠแŸ†แžกแžพแž„แž”แžถแž“) แŸ” แž˜แžถแž“แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžแžถแž„แž€แŸ’แžšแŸ„แž™แžŠแžพแž˜แŸ’แž”แžธแž’แžถแž“แžถแž”แžถแž“แž“แžผแžœแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžแžถแž˜แžšแž™แŸˆ CPU, ASIP (TCE/TTA), แžŸแŸ’แžแžถแž”แžแŸ’แž™แž€แž˜แŸ’แž˜แž•แŸ’แžขแŸ‚แž€แž›แžพ GPU แž แŸ’แžŸแŸ แž“แžทแž„ NVIDIA GPU (CUDA) แŸ”

ะ’ แž€แŸ†แžŽแŸ‚โ€‹แžแŸ’แž˜แžธ:

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžš LLVM/Clang 9.0. แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แŸ†แžŽแŸ‚ LLVM แž…แžถแžŸแŸ‹แž‡แžถแž„ 6.0 แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แžˆแž”แŸ‹แŸ”
  • แž€แžถแžšแž€แŸ‚แž›แž˜แŸ’แžขแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž•แŸ’แžขแŸ‚แž€แž›แžพ CPU แž“แŸƒแžแŸ†แžŽแžถแž„แž€แžผแžŠแž€แž˜แŸ’แžšแžทแžแž˜แž’แŸ’แž™แž˜ SPIR ะธ SPIR-V (แž”แŸ’แžšแžพแž“แŸ…แž€แŸ’แž“แžปแž„ Vulkan API) แžŠแŸ‚แž›แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแž‘แžถแŸ†แž„แž–แžธแžšแžŠแžพแž˜แŸ’แž”แžธแžแŸ†แžŽแžถแž„แžฑแŸ’แž™ shaders แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ แž“แžทแž„แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž‚แžŽแž“แžถแž”แŸ‰แžถแžšแŸ‰แžถแžกแŸ‚แž›แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถ pocl-accel แž‡แžถแž˜แžฝแž™แž“แžนแž„แž แŸแžŠแŸ’แž‹แžถแžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžงแž‘แžถแž แžšแžŽแŸแžŠแžพแž˜แŸ’แž”แžธแž‚แžถแŸ†แž‘แŸ’แžš OpenCL 1.2 hardware accelerators แžŠแŸ‚แž›แžขแž“แžปแžœแžแŸ’แžแž…แŸ†แžŽแžปแž…แž”แŸ’แžšแž‘แžถแž€แŸ‹แžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™แžŠแŸ‚แž›แž”แžถแž“แž‚แžผแžŸแž•แŸ‚แž“แž‘แžธแž˜แŸแž˜แŸ‰แžผแžšแžธ (mmap) แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แž„แŸ’แž€แžพแžแž€แžถแžšแžŠแŸ†แžกแžพแž„ pocl แžŠแŸ‚แž›แž˜แžทแž“แž‡แžถแž”แŸ‹แž“แžนแž„แžแžแžฏแž€แžŸแžถแžš (แžขแžถแž…แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž‘แžธแžแžถแŸ†แž„แž”แžถแž“)แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

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