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

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

OpenCL рдХрд░реНрдиреЗрд▓ рдХрдореНрдкрд╛рдЗрд▓рд░рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди LLVM рдХреЛ рдЖрдзрд╛рд░рдорд╛ рдмрдирд╛рдЗрдПрдХреЛ рдЫ, рд░ Clang рд▓рд╛рдИ OpenCL C рдХреЛ рдЕрдЧрд╛рдбрд┐рдХреЛ рднрд╛рдЧрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдЙрдЪрд┐рдд рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд░ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди, 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 рд░рдирдЯрд╛рдЗрдордХреЛ рд╢реАрд░реНрд╖рдорд╛ ISAs рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреЗ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред рдХреЛрдб рдЖрдзрд╛рд░ рд╕рдлрд╛ рдЧрд░рд┐рдпреЛ, Vecmathlib рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рд╣рд┐рдд рд╣рдЯрд╛рдЗрдпреЛ рд░ LLVM (6.0 рднрдиреНрджрд╛ рдХрдо) рдХреЛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд░реЛрдХрд┐рдпреЛред

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

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