PoCL 1.4 āĻāĻ° āĻĒā§āĻ°āĻ•āĻžāĻļ, OpenCL āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨

āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻĒāĻŋāĻ“āĻ¸āĻŋāĻāĻ˛ 1.4 (āĻĒā§‹āĻ°ā§āĻŸā§‡āĻŦāĻ˛ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚ āĻ˛ā§āĻ¯āĻžāĻ™ā§āĻ—ā§āĻ¯āĻŧā§‡āĻœ āĻ“āĻĒā§‡āĻ¨āĻ¸āĻŋāĻāĻ˛), āĻ¯āĻž āĻ“āĻĒā§‡āĻ¨āĻ¸āĻŋāĻāĻ˛ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§‡āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻāĻ•ā§āĻ¸āĻŋāĻ˛āĻžāĻ°ā§‡āĻŸāĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻ¤āĻžāĻĻā§‡āĻ° āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°ā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°ā§‡ āĻ“āĻĒā§‡āĻ¨āĻ¸āĻŋāĻāĻ˛ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ•ā§‹āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻŽāĻ†āĻ‡āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡āĨ¤ X86_64, MIPS32, ARM v7, AMD HSA APU āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻļā§‡āĻˇāĻžāĻ¯āĻŧāĻŋāĻ¤ TTA āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°ā§‡ āĻ•āĻžāĻœ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ (āĻĒāĻ°āĻŋāĻŦāĻšāĻ¨ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°) āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ­āĻŋāĻāĻ˛āĻ†āĻ‡āĻĄāĻŦā§āĻ˛āĻŋāĻ‰.

āĻ“āĻĒā§‡āĻ¨āĻ¸āĻŋāĻāĻ˛ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°ā§‡āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ LLVM-āĻāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛ā§āĻ¯āĻžāĻ‚ āĻ“āĻĒā§‡āĻ¨āĻ¸āĻŋāĻāĻ˛ āĻ¸āĻŋ-āĻāĻ° āĻ¸āĻžāĻŽāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻ āĻŋāĻ• āĻŦāĻšāĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž āĻāĻŦāĻ‚ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡, OpenCL āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ•āĻŽā§āĻŦāĻŋāĻ¨ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻž āĻ•ā§‹āĻĄ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨āĻ•ā§‡ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯ā§‡āĻŽāĻ¨ VLIW, superscalar, SIMD, SIMT, āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻ•ā§‹āĻ° āĻāĻŦāĻ‚ āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻĨā§āĻ°ā§‡āĻĄāĻŋāĻ‚āĨ¤ ICD āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§
(āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°)āĨ¤ CPU, ASIP (TCE/TTA), GPU āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻ‡āĻšāĻāĻ¸āĻ āĻāĻŦāĻ‚ NVIDIA GPU (CUDA)āĨ¤

В āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ:

  • āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ LLVM/āĻ•ā§āĻ˛ā§āĻ¯āĻžāĻ‚ 9.0. 6.0-āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻžāĻ¨ā§‹ LLVM āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ āĻ•ā§‹āĻĄ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤ CPU-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¸ā§āĻĒāĻŋāĻ° и SPIR-V (Vulkan API-āĻ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤), āĻ¯āĻž āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§‡āĻĄāĻžāĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡;
  • OpenCL 1.2 āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻ•ā§āĻ¸āĻŋāĻ˛āĻžāĻ°ā§‡āĻŸāĻ°āĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ¸āĻš pocl-accel āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž (mmap) āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°ā§‡;
  • āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŦāĻĻā§āĻ§ āĻ¨āĻ¯āĻŧ āĻāĻŽāĻ¨ pocl āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ°āĻŋāĻ˛ā§‹āĻ•ā§‡āĻŸā§‡āĻŦāĻ˛)āĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨