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

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

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

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

  • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ Clang/LLVM 15.0.
  • ืชืžื™ื›ืช ื™ื™ืฆื•ื’ ื‘ื™ื ื™ื™ื ืฉืœ SPIR-V shader ืžืฉื•ืคืจืช ื‘ืื•ืคืŸ ืžืฉืžืขื•ืชื™ ืขื‘ื•ืจ ืžื ื”ืœื™ ื”ืชืงื ื™ื ืฉืœ CPU ื•-CUDA.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืขื‘ื•ืจ ื—ื•ืžืจื” ืžื™ื•ื—ื“ืช (CL_DEVICE_TYPE_ACCELERATOR) ื•ื”ืชืงื ื™ื ืžื•ืชืืžื™ื ืื™ืฉื™ืช (CL_DEVICE_TYPE_CUSTOM) ืฉืื™ื ื ืชื•ืžื›ื™ื ื‘ื”ื™ื“ื•ืจ ืžืงื•ื•ืŸ ืขื•ืฆื‘ ืžื—ื“ืฉ ื‘ืื•ืคืŸ ืžืฉืžืขื•ืชื™. ื”ื“ืจื™ื™ื‘ืจื™ื ืฉืœ accel ื•-ttasim ืžื•ื–ื’ื• ืœืชื•ืš ืžื ื”ืœ ื”ื”ืชืงืŸ ื”ื—ื“ืฉ ืฉืœ AlmaIF.
  • ื”ืขื‘ื•ื“ื” ื ืžืฉื›ืช ืขืœ ืžื ื”ืœ ื”ื”ืชืงืŸ ืขื‘ื•ืจ ื”-API ื”ื’ืจืคื™ ืฉืœ Vulkan.
  • ืžื•ืฆืข ื™ื™ืฉื•ื ื‘ืกื™ืกื™ ืฉืœ ืกื™ื•ืžืช cl_khr_command_buffer, ื”ืžืืคืฉืจ ืœื›ืชื•ื‘ ืจืฆืฃ ืฉืœ ืคืงื•ื“ื•ืช OpenCL ืœื‘ื™ืฆื•ืข ื‘ืงืจื™ืื” ืื—ืช.

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

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