PoCL 1.4 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди, OpenCL рдорд╛рдирдХрд╛рдЪреА рд╕реНрд╡рддрдВрддреНрд░ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА

рдЙрдкрд▓рдмреНрдз рдкреНрд░рдХрд▓реНрдк рдкреНрд░рдХрд╛рд╢рди рдкреАрдУрд╕реАрдПрд▓ 1.4 (рдкреЛрд░реНрдЯреЗрдмрд▓ рдХреЙрдореНрдкреНрдпреБрдЯрд┐рдВрдЧ рд▓рдБрдЧреНрд╡реЗрдЬ рдУрдкрдирд╕реАрдПрд▓), рдЬреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдПрдХреНрд╕реАрд▓рд░реЗрдЯрд░ рдЙрддреНрдкрд╛рджрдХрд╛рдВрдкрд╛рд╕реВрди рд╕реНрд╡рддрдВрддреНрд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ OpenCL рдорд╛рдирдХрд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ рд╡рд┐рд╡рд┐рдз рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЖрдгрд┐ рд╕реЗрдВрдЯреНрд░рд▓ рдкреНрд░реЛрд╕реЗрд╕рд░рд╡рд░ OpenCL рдХрд░реНрдирд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╡рд┐рдз рдмреЕрдХрдПрдВрдбрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдкреНрд░рдХрд▓реНрдк рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд рдПрдордЖрдпрдЯреА рдкрд░рд╡рд╛рдиреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд. X86_64, MIPS32, ARM v7, AMD HSA APU рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдЖрдгрд┐ рд╡рд┐рд╡рд┐рдз рд╡рд┐рд╢реЗрд╖ TTA рдкреНрд░реЛрд╕реЗрд╕рд░ (рд╡рд╛рд╣рддреВрдХ рдЯреНрд░рд┐рдЧрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░) рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╕рд╣ VLIW.

рдУрдкрдирд╕реАрдПрд▓ рдХрд░реНрдирд▓ рдХрдВрдкрд╛рдпрд▓рд░рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА LLVM рдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ рддрдпрд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдЖрдгрд┐ рдХреНрд▓реЕрдВрдЧрдЪрд╛ рд╡рд╛рдкрд░ OpenCL C рд╕рд╛рдареА рдлреНрд░рдВрдЯ рдПрдВрдб рдореНрд╣рдгреВрди рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдпреЛрдЧреНрдп рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдЖрдгрд┐ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, OpenCL рдХрд░реНрдирд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рдВрдпреЛрдЬрди рдлрдВрдХреНрд╢рдиреНрд╕ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░реВ рд╢рдХрддреЛ рдЬреЗ рдХреЛрдб рдПрдХреНрдЭрд┐рдХреНрдпреВрд╢рдирд▓рд╛ рд╕рдорд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╡рд┐рдз рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рд╕рдВрд╕рд╛рдзрдиреЗ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд, рдЬрд╕реЗ рдХреА VLIW, superscalar, SIMD, SIMT, рдорд▓реНрдЯреА-рдХреЛрд░ рдЖрдгрд┐ рдорд▓реНрдЯреА-рдереНрд░реЗрдбрд┐рдВрдЧ. ICD рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рд╕рдкреЛрд░реНрдЯ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ
(рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдХреНрд▓рд╛рдпрдВрдЯ рдбреНрд░рд╛рдпрд╡реНрд╣рд░). CPU, ASIP (TCE/TTA), GPU рдЖрдзрд╛рд░рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рджреНрд╡рд╛рд░реЗ рдСрдкрд░реЗрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмреЕрдХрдПрдВрдбреНрд╕ рдЖрд╣реЗрдд HSA рдЖрдгрд┐ NVIDIA GPU (CUDA).

╨Т рдирд╡реАрди рдЖрд╡реГрддреНрддреА:

  • рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ LLVM/Clang 9.0. 6.0 рдкреЗрдХреНрд╖рд╛ рдЬреБрдиреНрдпрд╛ LLVM рдЖрд╡реГрддреНрддреНрдпрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдмрдВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ.
  • рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдХреЛрдб рдкреНрд░реЗрдЭреЗрдВрдЯреЗрд╢рдиреНрд╕рдЪреА рд╕реБрдзрд╛рд░рд┐рдд CPU-рдЖрдзрд╛рд░рд┐рдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА SPIR ╨╕ рдПрд╕рдкреАрдЖрдпрдЖрд░-рд╡реНрд╣реА (Vulkan API рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗрд▓реЗ), рдЬреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЖрдгрд┐ рд╕рдорд╛рдВрддрд░ рд╕рдВрдЧрдгрдирд╛рд╕рд╛рдареА рд╢реЗрдбрд░реНрд╕рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ;
  • рдУрдкрдирд╕реАрдПрд▓ 1.2 рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдкреНрд░рд╡реЗрдЧрдХрд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЙрджрд╛рд╣рд░рдг рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╕рд╣ pocl-accel рдбреНрд░рд╛рдЗрд╡реНрд╣рд░ рдЬреЛрдбрд▓реЗ рдЬреЗ рдореЗрдорд░реА-рдореЕрдкреНрдб (mmap) рдХрдВрдЯреНрд░реЛрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рд▓рд╛рдЧреВ рдХрд░рддреЗ;
  • рдбрд┐рд░реЗрдХреНрдЯрд░реАрд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдирд╕рд▓реЗрд▓реА pocl рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рдиреНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА (рд░рд┐рд▓реЛрдХрдЯреЗрдмрд▓).

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛