ืืืฆืื ืืืืืจื ืฉื ืคืจืืืงื 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