ืื ืืจืึธื ืึธืก ืืืึทืืข, ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืืขืืืขืืึธืคึผืื ื ืื ืกืคึผืขืกืึทืคืึทืงืืืฉืึทื ื ืคืื ืื OpenGL, Vulkan ืืื OpenCL ืืฉืคึผืื,
ืืื ืืขื ืงืจืึทื ื ืืื ืข, ืื ืกืคึผืขืกืืคืืงืึทืืืึธื ืืื ืึทืกืืื ื ืึท ืืขืจืืืืึทืืืง ืกืืึทืืืก, ืืืึธืก ืืืคึผืืืื ืื ืืขืืืขืืงืืื ืคืื ืจืึทืคืื ืืจืืงืืึทื ืืืืืจื ืืืืฃ ืืึทืืขืจืงืื ืืขื ืืขืฉืืงื ืืืจื
ืืขืจืกื ื ืึธืืืึทืืึทื
- ืื OpenCL 3.0 API ืงืึธืืืขืจืก ืืืฆื ืึทืืข ืืืขืจืกืืขืก ืคืื OpenCL (1.2, 2.x), ืึธื ืคึผืจืึทืืืืืืื ื ืืึทืืื ืืขืจ ืกืคึผืขืกืึทืคืึทืงืืืฉืึทื ื ืคึฟืึทืจ ืืขืืขืจ ืืืขืจืกืืข. OpenCL 3.0 ืืื ืื ืคืืืืงืืื ืฆื ืคืึทืจืืจืืืืขืจื ืืึทืจืฅ ืคืึทื ืืงืฉืึทื ืึทืืืื ืืืจื ืื ืื ืึทืืจืืืฉืึทื ืคืื ื ืึธื ืกืคึผืขืกืึทืคืึทืงืืืฉืึทื ื ืืืึธืก ืืืขื ืืืื ืืืืขืจื ืืื ืื ืคืึธืจืขื ืคืื ืึธืคึผืฆืืขืก ืึธื ืืืึทืงืื ื ืื ืืึทื ืึทืืืืืง ื ืึทืืืจ ืคืื OpenCL 1.2/2.X.
- ืืืืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืืืึธืก ืงืึทืืคึผืืืื ืืื OpenCL 1.2 ืืื ืืขืจืงืืขืจื ืืึทื ืืึทืืึธืจื, ืืื ืึทืืข ืคึฟืขืึดืงืืืื ืคืืจืืขืืืืื ืืื ืื OpenCL 2.x ืกืคึผืขืกืึทืคืึทืงืืืฉืึทื ื ืืขื ืขื ืงืืึทืกืึทืคืืื ืืื ืึทืคึผืฉืึทื ืึทื. ืืขืจ ืฆืืืึทื ื ืืืขื ืืึทืื ืขืก ืืจืื ืืขืจ ืฆื ืฉืึทืคึฟื ืื ืื ืืืคึผืืึทืืึทื ืฅ ืืืึธืก ืืขื ืขื ืงืึทืืคึผืึทืืึทืืึทื ืืื OpenCL 3.0, ืืื ืืืขื ืืงืกืคึผืึทื ื ืื ืงืืื ืคืื ืืขืืืืกืขืก ืืืืฃ ืืืึธืก OpenCL 3.0 ืงืขื ืขื ืืืื ืืขืืืืื ื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืึทื ืืึทืคืึทืงืืฉืขืจืขืจื ืงืขื ืขื ืื ืกืืจืืืขื ื OpenCL 3.0 ืฉืืืฆื ืึธื ืืืคึผืืึทืืขื ืื ื ืกืคึผืขืฆืืคืืฉ OpenCL 2.x ืคึฟืขืึดืงืืืื. ืฆื ืึทืงืกืขืก ืึทืคึผืฉืึทื ืึทื ืฉืคึผืจืึทื ืคึฟืขืึดืงืืืื, OpenCL 3.0 ืืื ืฆืืืขืืืืื ืึท ืกืืกืืขื ืคืื ืคึผืจืืืืจื ืคึฟืจืืื ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืึธืคึผืฉืึทืฆื ืื ืฉืืืฆื ืคืื ืืืื ืึทืคึผื ืขืืขืืขื ืื, ืืื ืืืื ืกืคึผืขืฆืืขื ืืึทืงืจืึธืก.
- ืืื ืึทืคืึทืงืืืฉืึทื ืืื ืคืจืืขืจ ืจืขืืขืึทืกืขื ืกืคึผืขืกืึทืคืึทืงืืืฉืึทื ื ืืืื ืขืก ืืจืื ืืขืจ ืฆื ืืืืืจืืื ืึทืคึผืืึทืงืืืฉืึทื ื ืฆื OpenCL 3.0. OpenCL 1.2 ืึทืคึผืืึทืงืืืฉืึทื ื ืงืขื ืขื ืืืืคื ืืืืฃ ืืขืืืืกืขืก ืืืึธืก ืฉืืืฆื OpenCL 3.0 ืึธื ืืึธืืืคืืงืึทืืืึธื. OpenCL 2.x ืึทืคึผืืึทืงืืืฉืึทื ื ืืืขื ืืืื ื ืืฉื ืืึทืจืคื ืงืึธื ืขื ืืขืจืื ืืขื, ืืื ืืึทื ื ืืื ืื OpenCL 3.0 ืกืืืืืืข ืืื ืื ืคืืจืืื ืื ืคืึทื ืืงืฉืึทื ืึทืืืื (ืฆื ืขื ืฉืืจ ืฆืืงืื ืคึฟื ืคึผืึธืจืืึทืืืืืื, OpenCL 2.x ืึทืคึผืืึทืงืืืฉืึทื ื ืืขื ืขื ืจืขืงืึทืืขื ืืื ืฆื ืืืืื ืืขืกื ืคึฟืจืืื ืฆื ืึธืคึผืฉืึทืฆื ืฉืืืฆื ืคึฟืึทืจ ืื OpenCL 2.x ืคึฟืขืึดืงืืืื ืืขืืืืื ื). ืืจืืืืืขืจ ืืขืืืขืืึธืคึผืขืจืก ืืื OpenCL ืืืคึผืืึทืืึทื ืฅ ืงืขื ืขื ืืืืื ืึทืคึผืืจืืื ืืืืขืจ ืคึผืจืึธืืืงืื ืฆื OpenCL 3.0, ืึทืืื ื ืืืืื ืึธื ืคึฟืจืขื ืคึผืจืึทืกืขืกืื ื ืคึฟืึทืจ ืืืืขืจ ืึทืคึผื ืงืึทืืืก, ืืื ืืืกืืขืืืืืึทื ืคืึทืจืืจืขืกืขืจื ืคืึทื ืืงืฉืึทื ืึทืืืื ืืืืขืจ ืฆืืึทื.
- ืื OpenCL 3.0 ืืึทืฉืจืืึทืืื ื ืืื ืึทืืืื ื ืืื ืื ืกืืืืืืข, ืืงืกืืขื ืฉืึทื ื ืืื ืกืคึผืขืกืึทืคืึทืงืืืฉืึทื ื ืคืื ืื SPIR-V ืืืฉืึทื ืขืจืืง ืื ืืขืจืืืืืื ืคืึทืจืืจืขืืื ื, ืืืึธืก ืืื ืืืื ืืขื ืืฆื ืืืจื ืื Vulkan API. ืฉืืืฆื ืคึฟืึทืจ ืื SPIR-V 1.3 ืืึทืฉืจืืึทืืื ื ืืื ืึทืจืืึทื ืืขืจืขืื ื ืืื ืื ืืึทืจืฅ OpenCL 3.0 ืืื ืึท ืึทืคึผืฉืึทื ืึทื ืฉืืจืื. ืืืจื ืื ื ืืฆื ืคืื ืึท ืื ืืขืจืืืืืื ืคืึทืจืืจืขืืื ื
SPIR-V ืฉืืืฆื ืคึฟืึทืจ ืึทืคึผืขืจืืืฉืึทื ื ืืื ืกืึทืืืจืืคึผืก ืืื ืฆืืืขืืขืื ืคึฟืึทืจ ืงืึทืืคึผืืืืื ื ืงืึธืจืขืก.
- ืฆืืืขืืขืื ืฉืืืฆื ืคึฟืึทืจ ืึท ืคืึทืจืืขื ืืขืจืื ื ืคึฟืึทืจ ืคึผืขืจืคืึธืจืืื ื ืืืกืื ืืงืจืึทื ืึทืก ืืืึท ืึทืคึผืขืจืืืฉืึทื ื (ืึทืกืื ืืฉืจืึธื ืึธืืก ืืืึท), ืืขืฉืืืฆื ืืื ืืกืคึผ-ืืื ืืฉืืคึผืก ืืื ืืืจืขืงื ืืึผืจืื ืึทืงืกืขืก. ืึทืกืื ืืฉืจืึธื ืึธืืก ืืืึท ืืืื ืขืก ืืขืืืขื ืฆื ื ืืฆื ืืืึท ืืจืึทื ืืึทืงืฉืึทื ื ืฆื ืึทืจืืืขืจืคืืจื ืืึทืื ืฆืืืืฉื ืืืืืืืข ืืื ืืืืข ืืึผืจืื ืืืกืื ืืงืจืึทื ืึทืกืื, ืืื ืคึผืึทืจืึทืืขื ืืื ืืฉืืื ืืช ืึธืืขืจ ืื ืืขืจืข ืืึทืื ืึทืจืืืขืจืคืืจื ืึทืคึผืขืจืืืฉืึทื ื.
- ืื C ืคึผืึทืจืึทืืขื ืคึผืจืึธืืจืึทืืืื ื ืขืงืกืืขื ืกืืึธื ืก ืืึทืฉืจืืึทืืื ื ืืื ืืขืจืืืึทื ืืืงื ืฆื
ืืืขืจืกืืข 3.0 , ืืื ืื ืึทื ืืืืืงืืื ื ืคืื OpenCL ืฉืคึผืจืึทื ืืงืกืืขื ืฉืึทื ื ืคึฟืึทืจ C ++ ืืื ืืขืืืขื ืกืืึทืคึผื ืืื ืืืืืืข ืคืื โโืื "C ++ ืคึฟืึทืจ OpenCL" ืคึผืจืืืขืงื. C ++ ืคึฟืึทืจ OpenCL ืืื ืึท ืงืึทืืคึผืืืืขืจ ืืืืืจื ืืืืฃ Clang / LLVM ืืืืืจืึธืืงืึทืกืืื ื C ++ ืืื OpenCL C ืงืขืจื ืึทืื ืืื SPIR-V ืื ืืขืจืืืืืื ืคืึทืจืืจืขืืื ื ืึธืืขืจ ื ืืืขืจืืง-ืืืจืื ืืึทืฉืื ืงืึธื. ืืืจื ืืจืึธืืงืึทืกืืื ื, SPIR-V ืืืื ืึธืจืืึทื ืืืืจื ืื ืคึฟืึทืจืืึทืืืื ื ืคืื C ++ ืึทืคึผืืึทืงืืืฉืึทื ื ื ืืฆื ืื SYCL ืืืกืืขืจ ืืืืืืึธืืขืง, ืืืึธืก ืกืืืคึผืืึทืคืืื ืื ืฉืึทืคืื ื ืคืื ืคึผืึทืจืึทืืขื ืึทืคึผืืึทืงืืืฉืึทื ื. - ื ืงืึทืืคึผืืืืขืจ ืืื ืคืืจืืขืืืืื ืคึฟืึทืจ ืืจืึธืืงืึทืกืืื ื OpenCL ืืืจื ืื Vulkan API
clspv , ืืืึธืก ืงืึทื ืืืขืจืฅ OpenCL ืงืขืจื ืึทืื ืฆื ืึท Vulkan SPIR-V ืคืึทืจืืจืขืืื ื, ืืื ืึท ืฉืืืืขclvk ืฆื ืืขืื ืื OpenCL API ืฆื ืึทืจืืขืื ืืืืฃ ืื ืฉืคึผืืฅ ืคืื Vulkan.
ืืงืืจ: opennet.ru