PoCL 1.3 āĻĒā§āĻ°āĻā§āĻā§āĻā§āĻ° (āĻĒā§āĻ°ā§āĻā§āĻŦāĻ˛ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻŋāĻ āĻ˛ā§āĻ¯āĻžāĻā§āĻā§āĻ¯āĻŧā§āĻ OpenCL) āĻāĻāĻāĻŋ āĻ°āĻŋāĻ˛āĻŋāĻ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¯āĻž OpenCL āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻ¯āĻž āĻā§āĻ°āĻžāĻĢāĻŋāĻā§āĻ¸ āĻāĻā§āĻ¸āĻŋāĻ˛āĻžāĻ°ā§āĻāĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻ¤āĻžāĻĻā§āĻ° āĻĨā§āĻā§ āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨ āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻ°āĻžāĻĢāĻŋāĻā§āĻ¸ āĻāĻŦāĻ āĻā§āĻ¨ā§āĻĻā§āĻ°ā§āĻ¯āĻŧ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°ā§ OpenCL āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ . āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻā§āĻĄ MIT āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ X86_64, MIPS32, ARM v7, AMD HSA APU āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻāĻŦāĻ VLIW āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻ¸āĻš āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻļā§āĻˇāĻžāĻ¯āĻŧāĻŋāĻ¤ TTA (āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĒā§āĻ°ā§āĻ āĻā§āĻ°āĻŋāĻāĻžāĻ°āĻĄ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°) āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°ā§ āĻāĻžāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤
āĻāĻĒā§āĻ¨āĻ¸āĻŋāĻāĻ˛ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°ā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ LLVM-āĻāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻā§āĻ˛ā§āĻ¯āĻžāĻ āĻāĻĒā§āĻ¨āĻ¸āĻŋāĻāĻ˛ āĻ¸āĻŋ-āĻāĻ° āĻ¸āĻžāĻŽāĻ¨ā§āĻ° āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻ āĻŋāĻ āĻŦāĻšāĻ¨āĻ¯ā§āĻā§āĻ¯āĻ¤āĻž āĻāĻŦāĻ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§, OpenCL āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻŽā§āĻŦāĻŋāĻ¨ā§āĻļāĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻā§āĻĄ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨āĻā§ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻāĻ°āĻ¤ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻžāĻ°ā§āĻĄāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§āĻŽāĻ¨ VLIW, superscalar, SIMD, SIMT, āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻā§āĻ° āĻāĻŦāĻ āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻĨā§āĻ°ā§āĻĄāĻŋāĻāĨ¤ ICD āĻĄā§āĻ°āĻžāĻāĻāĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻĒāĻ˛āĻŦā§āĻ§
(āĻāĻ¨āĻ¸ā§āĻāĻ˛āĻ¯ā§āĻā§āĻ¯ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĄā§āĻ°āĻžāĻāĻāĻžāĻ°)āĨ¤ CPU, ASIP (TCE/TTA), HSA āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ GPU āĻāĻŦāĻ NVIDIA GPU (CUDA) āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ LLVM/Clang 8.0-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§āĨ¤ MacOS āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§ ICD (āĻāĻ¨āĻ¸ā§āĻāĻ˛āĻ¯ā§āĻā§āĻ¯ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĄā§āĻ°āĻžāĻāĻāĻžāĻ°) āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ CPU-āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻĄā§āĻ°āĻžāĻāĻāĻžāĻ° āĻāĻžāĻĄāĻŧāĻžāĻ pocl āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ HSA (Heterogeneous System Architecture), HSA āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§āĻ° āĻāĻĒāĻ°ā§ ISA āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻā§āĻĄ āĻŦā§āĻ¸āĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻāĻŽāĻžāĻĨāĻ˛āĻŋāĻŦ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻŦāĻ LLVM (6.0-āĻāĻ° āĻāĻŽ) āĻāĻ° āĻĒā§āĻ°āĻžāĻ¨ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru