OpenCL рдорд╛рдирдХрдХреЛ рд╕реНрд╡рддрдиреНрддреНрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рд╛рде PoCL 5.0 рдХреЛ рд░рд┐рд▓реАрдЬ

PoCL 5.0 рдкрд░рд┐рдпреЛрдЬрдирд╛ (рдкреЛрд░реНрдЯреЗрдмрд▓ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩреН рднрд╛рд╖рд╛ рдУрдкрдирд╕реАрдПрд▓) рдХреЛ рд░рд┐рд▓реАрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдУрдкрдирд╕реАрдПрд▓ рдорд╛рдирдХрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИ рдЬреБрди рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдПрдХреНрд╕реЗрд▓реЗрдЯрд░ рдирд┐рд░реНрдорд╛рддрд╛рд╣рд░реВрдмрд╛рдЯ рд╕реНрд╡рддрдиреНрддреНрд░ рдЫ рд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд░ рдХреЗрдиреНрджреНрд░реАрдп рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдорд╛ OpenCL рдХрд░реНрдиреЗрд▓рд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╡рд┐рднрд┐рдиреНрди рдмреНрдпрд╛рдХрдЗрдиреНрдбрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб MIT рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВ X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU рд░ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖ ASIP (рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХ рдЗрдиреНрд╕реНрдЯреНрд░рдХреНрд╢рди-рд╕реЗрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░) рд░ TTA (рдЯреНрд░рд╛рдиреНрд╕рдкреЛрд░реНрдЯ рдЯреНрд░рд┐рдЧрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░) рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдорд╛ VLIW рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рдХреЛ рд╕рд╛рде рдХрд╛рдо рдЧрд░реНрди рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред

OpenCL рдХрд░реНрдиреЗрд▓ рдХрдореНрдкрд╛рдЗрд▓рд░рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди LLVM рдХреЛ рдЖрдзрд╛рд░рдорд╛ рдмрдирд╛рдЗрдПрдХреЛ рдЫ, рд░ Clang рд▓рд╛рдИ OpenCL C рдХреЛ рдЕрдЧрд╛рдбрд┐рдХреЛ рднрд╛рдЧрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдЙрдЪрд┐рдд рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд░ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди, OpenCL рдХрд░реНрдиреЗрд▓ рдХрдореНрдкрд╛рдЗрд▓рд░рд▓реЗ рд╕рдВрдпреЛрдЬрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╕рдХреНрдЫ рдЬрд╕рд▓реЗ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдмрдирд╛рдЙрди рд╡рд┐рднрд┐рдиреНрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрд░реЛрддрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫ, рдЬрд╕реНрддреИ VLIW, superscalar, SIMD, SIMT, рдмрд╣реБ-рдХреЛрд░ рд░ рдмрд╣реБ-рдереНрд░реЗрдбрд┐рдЩред рддреНрдпрд╣рд╛рдБ ICD рдбреНрд░рд╛рдЗрднрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЫ (рд╕реНрдерд╛рдкрдирд╛ рдпреЛрдЧреНрдп рдЧреНрд░рд╛рд╣рдХ рдЪрд╛рд▓рдХ)ред рддреНрдпрд╣рд╛рдБ CPU, ASIP (TCE/TTA), HSA рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рдорд╛ рдЖрдзрд╛рд░рд┐рдд GPU рд░ NVIDIA GPU (libcuda рдорд╛рд░реНрдлрдд) рдорд╛рд░реНрдлрдд рд╕рдЮреНрдЪрд╛рд▓рдирд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди рдмреНрдпрд╛рдХрдПрдиреНрдбрд╣рд░реВ рдЫрдиреНред

рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрдорд╛:

  • рдирдпрд╛рдБ "рд░рд┐рдореЛрдЯ" рдмреНрдпрд╛рдХрдЗрдиреНрдб рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдкреГрд╖реНрдарднреВрдорд┐ pocld рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ OpenCL рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рдкреНрд░рд╢реЛрдзрдирд▓рд╛рдИ рдЕрдиреНрдп рд╣реЛрд╕реНрдЯрд╣рд░реВрдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реЗрд░ рд╡рд┐рддрд░рд┐рдд рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛред
  • CUDA рдбреНрд░рд╛рдЗрднрд░рд▓реЗ рдЕрддрд┐рд░рд┐рдХреНрдд OpenCL 3.0 рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд░ рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫ рдЬрд╕реНрддреИ рдкрд░рдорд╛рдгреБ рдЕрдкрд░реЗрд╕рдирд╣рд░реВ, scoped variables, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier, рд░ sub_group_ballotред
  • RISC-V рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдорд╛ рдЖрдзрд╛рд░рд┐рдд CPU рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рд╕рдорд░реНрдердиред LLVM 2 рд░ GCC 23.10 рд╕рдБрдЧ Ubuntu 17 рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ Starfive VisionFive 13.2 рдмреЛрд░реНрдбрдорд╛ PoCL рд╕рдЮреНрдЪрд╛рд▓рди рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред
  • cl_ext_float_atomics рд╡рд┐рд╕реНрддрд╛рд░ FP32 рд░ FP64 рдХреЛ рд╕рдорд░реНрдерди рд╕рдВрдЧ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • cl_khr_command_buffer рд╡рд┐рд╕реНрддрд╛рд░рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдВрд╕реНрдХрд░рдг 0.9.4 рдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • FPGAs рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ AlmaIF рдмреНрдпрд╛рдХрдЗрдиреНрдб рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • SPIR 1.x/2.0 shaders рдХреЛ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдкреВрд░реНрдг рд╕рдорд░реНрдерди рд╣рдЯрд╛рдЗрдпреЛред SPIR-V рд▓рд╛рдИ рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдПрдХреЛ рдордзреНрдпрд╡рд░реНрддреА рд╢реЗрдбрд░ рднрд╛рд╖рд╛рдХреЛ рд░реВрдкрдорд╛ рдШреЛрд╖рдгрд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • Clang/LLVM 17.0 рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред Clang/LLVM 10-13 рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди