ืžืขืœื“ื•ื ื’ ืคื•ืŸ PoCL 1.3, ืึท ืคืจื™ื™ึท ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ OpenCL ื ืึธืจืžืึทืœ

ื ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ PoCL 1.3 ืคึผืจื•ื™ืขืงื˜ (Portable Computing Language OpenCL) ืื™ื– ื‘ื ื™ืžืฆื, ื•ื•ืึธืก ื“ืขื•ื•ืขืœืึธืคึผืก ืึท ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ OpenCL ื ืึธืจืžืึทืœ ื•ื•ืึธืก ืื™ื– ืคืจื™ื™ึท ืคื•ืŸ ื’ืจืึทืคื™ืงืก ืึทืงืกืขืœืขืจืึทื˜ืึธืจ ืžืึทื ื™ืึทืคืึทืงื˜ืฉืขืจืขืจื– ืื•ืŸ ืึทืœืึทื•ื– ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืคืึทืจืฉื™ื“ืŸ ื‘ืึทืงืขื ื“ื– ืคึฟืึทืจ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ OpenCL ืงืขืจื ืึทืœื– ืื•ื™ืฃ ืคืึทืจืฉื™ื“ืขื ืข ื˜ื™ื™ืคึผืก ืคื•ืŸ ื’ืจืึทืคื™ืงืก ืื•ืŸ ื”ื•ื™ืคื˜ ืคึผืจืึทืกืขืกืขืจื–. . ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืงืึธื“ ืื™ื– ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ MIT ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ. ืฉื˜ื™ืฆื˜ ืึธืคึผืขืจืึทืฆื™ืข ืื•ื™ืฃ X86_64, MIPS32, ARM v7, AMD HSA APU ืคึผืœืึทื˜ืคืึธืจืžืก ืื•ืŸ ืคืึทืจืฉื™ื“ืŸ ืกืคึผืขืฉืึทืœื™ื™ื–ื“ TTA (Transport Triggered Architecture) ืคึผืจืึทืกืขืกืขืจื– ืžื™ื˜ VLIW ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ.

ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ OpenCL ืงืขืจืŸ ืงืึทืžืคึผื™ื™ืœืขืจ ืื™ื– ื’ืขื‘ื•ื™ื˜ ืื•ื™ืฃ ื“ืขืจ ื‘ืื–ืข ืคื•ืŸ โ€‹โ€‹LLVM, ืื•ืŸ Clang ืื™ื– ื’ืขื ื™ืฆื˜ ื•ื•ื™ ื“ื™ ืคืจืึธื ื˜ ืกื•ืฃ ืคึฟืึทืจ OpenCL C. ืฆื• ืขื ืฉื•ืจ ื’ืขื”ืขืจื™ืง ืคึผืึธืจื˜ืึทื‘ื™ืœื™ื˜ื™ ืื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’, ื“ื™ OpenCL ืงืขืจืŸ ืงืึทืžืคึผื™ื™ืœืขืจ ืงืขื ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืคืึทื ื’ืงืฉืึทื ื– ื•ื•ืึธืก ืงืขื ืขืŸ ื ื•ืฆืŸ ืคืึทืจืฉื™ื“ืŸ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืจืขืกื•ืจืกืŸ ืฆื• ืคึผืึทืจืึทืœืขืœื™ื–ื™ืจืŸ ืงืึธื“ ื“ื•ืจื›ืคื™ืจื•ื ื’, ืึทื–ืึท ื•ื•ื™ VLIW, ืกื•ืคึผืขืจืกืงืึทืœืขืจ, SIMD, SIMT, ืžื•ืœื˜ื™-ื”ืึทืจืฅ ืื•ืŸ ืžื•ืœื˜ื™-ืคืึธื“ืขื. ICD ืฉืึธืคืขืจ ืฉื˜ื™ืฆืŸ ื‘ื ื™ืžืฆื
(ื™ื ืกื˜ืึทืœืœืึทื‘ืœืข ืงืœื™ืขื ื˜ ื“ืจื™ื™ื•ื•ืขืจ). ืขืก ื–ืขื ืขืŸ ื‘ืึทืงืขื ื“ื– ืฆื• ืฉื˜ื™ืฆืŸ ืึธืคึผืขืจืึทืฆื™ืข ื“ื•ืจืš ืงืคึผื•, ASIP (TCE / TTA), ื’ืคึผื• ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ HSA ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื•ืŸ NVIDIA GPU (CUDA).

ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืžื•ืกื™ืฃ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ LLVM / Clang 8.0. ื’ื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ICD (ื™ื ืกื˜ืึทืœืœืึทื‘ืœืข ืงืœื™ืขื ื˜ ื“ืจื™ื™ื•ื•ืขืจ) ืื•ื™ืฃ ื“ื™ ืžืึทืงืึธืก ืคึผืœืึทื˜ืคืึธืจืžืข. ื™ืžืคึผืœืึทืžืขื ื˜ืึทื“ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื‘ื•ื™ืขืŸ ืคึผืึธืงืœ ืึธืŸ ื‘ืึทืงืขื ื“ ื“ืจื™ื•ื•ืขืจืก ืคึฟืึทืจ ื“ื™ ืงืคึผื•. ืคึฟืึทืจ HSA (Heterogeneous System Architecture), ืขืจืฉื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืงืึทืžืคึผื™ื™ืœื™ื ื’ ื™ืกืึท ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ ื“ื™ HSA ืจื•ื ื˜ื™ืžืข ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜. ื“ื™ ืงืึธื“ ื‘ืึทื–ืข ืื™ื– ื’ืขื•ื•ืขืŸ ืงืœื™ื ื“, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ Vecmathlib ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืื•ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืขืœื˜ืขืจืข ื•ื•ืขืจืกื™ืขืก ืคื•ืŸ LLVM (ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ 6.0) ืื™ื– ืกื˜ืึทืคึผื˜.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’