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

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

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

แž€แŸ†แžŽแŸ‚แžแŸ’แž˜แžธแž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹ LLVM/Clang 8.0 แŸ” แž•แŸ’แžแž›แŸ‹แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹ ICD (แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž—แŸ’แž‰แŸ€แžœแžŠแŸ‚แž›แžขแžถแž…แžŠแŸ†แžกแžพแž„แž”แžถแž“) แž“แŸ…แž›แžพแžœแŸแž‘แžทแž€แžถ macOS แŸ” แž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แž„แŸ’แž€แžพแž pocl แžŠแŸ„แž™แž‚แŸ’แž˜แžถแž“แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถแžแžถแž„แž€แŸ’แžšแŸ„แž™แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŸแŸŠแžธแž—แžธแž™แžผแŸ” แžŸแž˜แŸ’แžšแžถแž”แŸ‹ HSA (Heterogeneous System Architecture) แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŠแŸ†แž”แžผแž„แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž…แž„แž€แŸ’แžšแž„ ISAs แž“แŸ…แž›แžพแž–แŸแž›แžœแŸแž›แžถแžŠแŸ†แžŽแžพแžšแž€แžถแžš HSA แžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžแž›แŸ‹แž‡แžผแž“แŸ” แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž€แžผแžŠแžแŸ’แžšแžผแžœแž”แžถแž“แžŸแž˜แŸ’แžขแžถแž แžšแžฝแž˜แž‘แžถแŸ†แž„แž”แžŽแŸ’แžŽแžถแž›แŸแž™ Vecmathlib แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแž€แž…แŸแž‰ แž แžพแž™แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แŸ†แžŽแŸ‚แž…แžถแžŸแŸ‹แžšแž”แžŸแŸ‹ LLVM (แžแžทแž…แž‡แžถแž„ 6.0) แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แžˆแž”แŸ‹แŸ”

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

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