рд╕рдорд╛рдирд╛рдиреНрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдорд╛рдирдХ OpenMP 6.0 рдкреНрд░рдХрд╛рд╢рд┐рдд

рд╡рд┐рдХрд╛рд╕рдХреЛ рддреАрди рд╡рд░реНрд╖ рдкрдЫрд┐, OpenMP 6.0 (рдУрдкрди рдорд▓реНрдЯрд┐-рдкреНрд░реЛрд╕реЗрд╕рд┐рдЩ) рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рд╣рд░реВрдХреЛ рд╕реЗрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдмрд╣реБ-рдХреЛрд░ рд░ рд╣рд╛рдЗрдмреНрд░рд┐рдб (CPU+GPU) рдорд╛ C, C++ рд░ Fortran рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рд╡рд┐рдзрд┐рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрди API рд░ рд╡рд┐рдзрд┐рд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджреИред /DSP) рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рд░ рдмреНрд▓рдХ рднреЗрдХреНрдЯреЛрд░рд╛рдЗрдЬреЗрд╢рди (SIMD) рд╕рдВрдЧ рдкреНрд░рдгрд╛рд▓реАред рдЪрдпрди рдЧрд░рд┐рдПрдХреЛ OpenMP 6.0 рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕рдорд░реНрдерди LLVM/Clang 20 рд░ GCC 15 рд░рд┐рд▓реАрдЬрд╣рд░реВрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрдиреЗ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред

OpenMP 6.0 рдорд╛ рдкреНрд░рдореБрдЦ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ:

  • рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд╕рд░рд▓реАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рд╕реНрд╡рддрдиреНрддреНрд░ рднрд╛рдЧрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджреИ рдЬреБрди рдЕрдиреНрдп рднрд╛рдЧрд╣рд░реВрд╕рдБрдЧ рд╕рдорд╛рдирд╛рдиреНрддрд░ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
    • рд╕рдорд╛рдирд╛рдиреНрддрд░ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ (рд╕рдорд╛рдирд╛рдиреНрддрд░ рдХреНрд╖реЗрддреНрд░, рдзреЗрд░реИ рдереНрд░реЗрдбрд╣рд░реВрдорд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреЛрдбрдХреЛ рдмреНрд▓рдХ) рдХрд╛рд░реНрдпрдиреНрд╡рдпрди рдЧрд░реНрдиреЗ рдереНрд░реЗрдбрд╣рд░реВрдХреЛ рд╕рдореВрд╣ (рдЯреАрдорд╣рд░реВ) рдорд╛ рдмрд╛рдБрдзрд┐рдПрдХреЛ рдлреНрд░реА-рдПрдЬреЗрдиреНрдЯ рдереНрд░реЗрдбрд╣рд░реВрдорд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛред
    • рдЯрд╛рд╕реНрдХрдЧреНрд░рд╛рдл рдмрдЪрдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рдХрд╛рд░реНрдпрд╣рд░реВ рдмреАрдЪрдХреЛ рдирд┐рд░реНрднрд░рддрд╛ рд░ рдХрд╛рд░реНрдпрд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреЗ рдХреНрд░рдорд▓рд╛рдИ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫ, рдкрдЫрд┐рдХреЛ рд░рд┐рдкреНрд▓реЗрдХреЛ рджрдХреНрд╖рддрд╛ рд╕реБрдзрд╛рд░ рдЧрд░реНрдиред
    • рдирд┐рд░реНрднрд░рддрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрди рд░ рдмрд╛рд▓ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рдкрд╛рд░рджрд░реНрд╢реА рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдВрдпрдиреНрддреНрд░ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • рд╕рдорд╛рдирд╛рдиреНрддрд░ рдХрд╛рд░реНрдпрд╣рд░реВ (CPU, GPU, DSP, рдЖрджрд┐) рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреЗ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдердиред
    • "рд╡рд░реНрдХ рдбрд┐рд╕реНрдЯреНрд░рд┐рдмреНрдпреБрдЯ" рдирд┐рд░реНрджреЗрд╢рдирд▓рд╛рдИ рдХрд╛рд░реНрдпрдХрд╛ рд╡рд┐рднрд┐рдиреНрди рдПрдХрд╛рдЗрд╣рд░реВ рдмреАрдЪ рдПрд░реЗ рдкреНрд░рд╢реЛрдзрди рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рди рдирдпрд╛рдБ рдПрд░реЗ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рдердкрд┐рдпреЛред
    • рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдирд┐рдпрдиреНрддреНрд░рдгрд╣рд░реВ рдпрд╕рд▓рд╛рдИ рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЪрд░рд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдкрд░рд┐рд╖реНрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫред
    • рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдпрдиреНрддреНрд░рд╣рд░реВ рдмреАрдЪ рдбреЗрдЯрд╛ рдХрд╕рд░реА рд╡рд┐рддрд░рдг рдЧрд░рд┐рдиреНрдЫ рднрдиреЗрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрдиреЗ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред
    • рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рдЙрдкрдХрд░рдгрд╣рд░реВ (GPUs) рдорд╛ рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдбрд╛рдЯрд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рд╕рд░рд▓реАрдХреГрдд рд▓реЗрдЦрди рдХреЛрдбред
    • рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рдореЗрдореЛрд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд░ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рдпрд╕рдХреЛ рдмрд╛рдзреНрдпрдХрд╛рд░реАред
    • рд╡рд┐рд╢реЗрд╖ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рдЙрдкрдХрд░рдгрдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдереНрд░реЗрдбрд╣рд░реВрдХреЛ рд╕рдореВрд╣рдорд╛ рдореЗрдореЛрд░реА рдЕрд╕рд╛рдЗрди рдЧрд░реНрди "рд╕рдореВрд╣ рдирд┐рдЬреА" рдирд┐рд░реНрджреЗрд╢рди рдердкрд┐рдпреЛред
  • рдХреЗрд╣реА рдкреНрд░рдХрд╛рд░рдХрд╛ рд▓реВрдк рд░реВрдкрд╛рдиреНрддрд░рдгрд╣рд░реВрдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩрд▓рд╛рдИ рд╕рд░рд▓реАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕реНрддреИ рдмрд╣реБ рд▓реВрдкрд╣рд░реВ рдорд░реНрдЬ рдЧрд░реНрдиреЗ, рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдкрд╣рд░реВрдХреЛ рдХреНрд░рдо рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗ, рд░ рд▓реВрдкрд╣рд░реВ рдЙрд▓реНрдЯрд╛рдЙрдиреЗред
  • рд╕рд░рд▓ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЧрдгрдирд╛ рд░ рдЕрдШрд┐рд▓реНрд▓реЛ рдорд╛рдирд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрд░реЗрд╢рдирд╣рд░реВрдХреЛ рд▓реВрдкрд╣рд░реВрдорд╛ рд╕рдорд╛рдирд╛рдиреНрддрд░рд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдирдпрд╛рдБ рдЗрдиреНрдбрдХреНрд╢рди рдЕрдкрд░реЗрд╢рди рдердкрд┐рдПрдХреЛ рдЫред
  • C23 рдорд╛рдкрджрдгреНрдбрд╣рд░реВ (рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рд╕рд╣рд┐рдд), Fortran 2023 рд░ C++ 23 рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓реЗрдЦрд┐рдПрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрдХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░реАрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред C/C++ рдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рдердкрд┐рдпреЛред
  • рдкрд░рд┐рд╖реНрдХреГрдд рднрдгреНрдбрд╛рд░рдг рд░ рдореЗрдореЛрд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдХреНрд╖рдорддрд╛рд╣рд░реВред рдореЗрдореЛрд░реА рдХрд╕рд░реА рдЖрд╡рдВрдЯрд┐рдд рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫ рднрдиреЗрд░ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рдирдпрд╛рдБ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рдердкрд┐рдПрдХрд╛ рдЫрдиреНред рдореЗрдореЛрд░реА рд╕реНрдкреЗрд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рд░ рдХреНрд╡реЗрд░реА рдЧрд░реНрди API рдердкрд┐рдпреЛред
  • OpenMP 5.0, 5.1, рд░ 5.2 рдирд┐рд░реНрджрд┐рд╖реНрдЯреАрдХрд░рдгрд╣рд░реВрдорд╛ рд╣рдЯрд╛рдЗрдПрдХрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд╣рдЯрд╛рдЗрдПрдХрд╛ рдЫрдиреНред

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

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