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

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

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

ะ’ ื’ืจืกื” ื—ื“ืฉื”:

  • ื ื•ืกืคื” ืชืžื™ื›ื” LLVM/Clang 9.0. ื”ืชืžื™ื›ื” ื‘ื’ืจืกืื•ืช LLVM ื™ื•ืชืจ ืž-6.0 ื”ื•ืคืกืงื”.
  • ื”ื˜ืžืขื” ืžืฉื•ืคืจืช ืžื‘ื•ืกืกืช CPU ืฉืœ ื™ื™ืฆื•ื’ื™ ืงื•ื“ ื‘ื™ื ื™ื™ื SPIR ะธ SPIR-V (ื‘ืฉื™ืžื•ืฉ ื‘-Vulkan API), ืืฉืจ ื™ื›ื•ืœ ืœืฉืžืฉ ื”ืŸ ืœื™ื™ืฆื•ื’ ื”ืฆืœืœื•ืช ืขื‘ื•ืจ ื’ืจืคื™ืงื” ื•ื”ืŸ ืขื‘ื•ืจ ืžื—ืฉื•ื‘ ืžืงื‘ื™ืœ;
  • ื ื•ืกืฃ ืžื ื”ืœ ื”ืชืงืŸ pocl-accel ืขื ืชืฉืชื™ืช ืœื“ื•ื’ืžื” ืœืชืžื™ื›ื” ื‘ืžืื™ืฆื™ ื—ื•ืžืจื” ืฉืœ OpenCL 1.2 ื”ืžื™ื™ืฉืžื™ื ืžืžืฉืง ื‘ืงืจื” ืžืžื•ืคื” ื–ื™ื›ืจื•ืŸ (mmap);
  • ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœื‘ื ื•ืช ื”ืชืงื ื•ืช pocl ืฉืื™ื ืŸ ืงืฉื•ืจื•ืช ืœืžื“ืจื™ื›ื™ื (ื ื™ืชื ื™ื ืœืžื™ืงื•ื ืžื—ื“ืฉ).

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

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