ืฉื—ืจื•ืจ ืฉืœ PoCL 1.3, ื™ื™ืฉื•ื ืขืฆืžืื™ ืฉืœ ืชืงืŸ OpenCL

ื–ืžื™ื ื” ืžื”ื“ื•ืจื” ืฉืœ ืคืจื•ื™ืงื˜ PoCL 1.3 (Portable Computing Language OpenCL), ื”ืžืคืชื— ื™ื™ืฉื•ื ืฉืœ ืชืงืŸ OpenCL ืฉืื™ื ื• ืชืœื•ื™ ื‘ื™ืฆืจื ื™ ืžืื™ืฆื™ื ื’ืจืคื™ื™ื ื•ืžืืคืฉืจ ืฉื™ืžื•ืฉ ื‘-backends ืฉื•ื ื™ื ืœื‘ื™ืฆื•ืข ืœื™ื‘ื•ืช OpenCL ืขืœ ืกื•ื’ื™ื ืฉื•ื ื™ื ืฉืœ ื’ืจืคื™ืงื” ื•ืžืขื‘ื“ื™ื ืžืจื›ื–ื™ื™ื. . ืงื•ื“ ื”ืคืจื•ื™ืงื˜ ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ืŸ MIT. ืชื•ืžืš ื‘ื”ืคืขืœื” ื‘ืคืœื˜ืคื•ืจืžื•ืช X86_64, MIPS32, ARM v7, AMD HSA APU ื•ืžืขื‘ื“ื™ TTA (Transport Triggered Architecture) ืžื™ื•ื—ื“ื™ื ืฉื•ื ื™ื ืขื ืืจื›ื™ื˜ืงื˜ื•ืจืช VLIW.

ื”ื™ื™ืฉื•ื ืฉืœ ืžื”ื“ืจ ืœื™ื‘ืช OpenCL ื ื‘ื ื” ืขืœ ื‘ืกื™ืก LLVM, ื•-Clang ืžืฉืžืฉ ื›ื—ื–ื™ืช ื”ืงืฆื” ืฉืœ OpenCL C. ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ื ื™ื™ื“ื•ืช ื•ื‘ื™ืฆื•ืขื™ื ื ืื•ืชื™ื, ืžื”ื“ืจ ืœื™ื‘ืช OpenCL ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืคื•ื ืงืฆื™ื•ืช ืฉื™ืœื•ื‘ ืฉื™ื›ื•ืœื•ืช ืœื”ืฉืชืžืฉ ื‘ืžืฉืื‘ื™ ื—ื•ืžืจื” ืฉื•ื ื™ื ื›ื“ื™ ืœื”ืงื‘ื™ืœ ืœื‘ื™ืฆื•ืข ืงื•ื“, ื›ื’ื•ืŸ VLIW, superscalar, SIMD, SIMT, multi-core and multi-threading. ืชืžื™ื›ื” ื‘ืžื ื”ืœื™ ICD ื–ืžื™ื ื”
(ืžื ื”ืœ ื”ืชืงืŸ ืœืงื•ื— ืฉื ื™ืชืŸ ืœื”ืชืงื™ืŸ). ื™ืฉื ื ืงืฆื” ืื—ื•ืจื™ ืœืชืžื™ื›ื” ื‘ื”ืคืขืœื” ื‘ืืžืฆืขื•ืช CPU, ASIP (TCE/TTA), GPU ื”ืžื‘ื•ืกืก ืขืœ ืืจื›ื™ื˜ืงื˜ื•ืจืช HSA ื•-NVIDIA GPU (CUDA).

ื”ื’ืจืกื” ื”ื—ื“ืฉื” ืžื•ืกื™ืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ LLVM/Clang 8.0. ืžืกืคืง ืชืžื™ื›ื” ืขื‘ื•ืจ ICD (ืžื ื”ืœ ื”ืชืงืŸ ืœืงื•ื— ืœื”ืชืงื ื”) ื‘ืคืœื˜ืคื•ืจืžืช macOS. ื”ื˜ืžื™ืข ืืช ื”ื™ื›ื•ืœืช ืœื‘ื ื•ืช pocl ืœืœื ืžื ื”ืœื™ ื”ืชืงื ื™ื ืขื•ืจืคื™ื™ื ืขื‘ื•ืจ ื”-CPU. ืขื‘ื•ืจ HSA (ืืจื›ื™ื˜ืงื˜ื•ืจืช ืžืขืจื›ืช ื”ื˜ืจื•ื’ื ื™ืช), ื ื™ืชื ืช ืชืžื™ื›ื” ืจืืฉื•ื ื™ืช ืœื”ื™ื“ื•ืจ ISAs ืขืœ ื’ื‘ื™ ื–ืžืŸ ื”ืจื™ืฆื” ืฉืœ HSA. ื‘ืกื™ืก ื”ืงื•ื“ ื ื•ืงื”, ื›ื•ืœืœ ืกืคืจื™ื™ืช Vecmathlib ื”ื•ืกืจ ื•ื”ืชืžื™ื›ื” ื‘ื’ืจืกืื•ืช ื™ืฉื ื•ืช ื™ื•ืชืจ ืฉืœ LLVM (ืคื—ื•ืช ืž-6.0) ื”ื•ืคืกืงื”.

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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”