рддреЛ, рдХреБрдЫ рдРрд╕рд╛ рд╣реБрдЖ рд╣реИ рдХрд┐ рдЗрдВрдЯреЗрд▓ рдЬреБрд▓рд╛рдИ рдХреЗ рдмрд╛рдж рд╕реЗ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИ -
рдЗрдВрдЯреЗрд▓ рд╡рдирдПрдкреАрдЖрдИ рдЯреВрд▓рдХрд┐рдЯ рдХрд╛ рдПрдХ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг, рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЬреАрд╡рди рдЕрдм рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реЗрдЯ,
рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ , рдЗрд╕рдореЗрдВ рдирдИ рдбреЗрдЯрд╛ рд╕рдорд╛рдирд╛рдВрддрд░ C ++ рднрд╛рд╖рд╛ рдХрд╛ рд╕рдВрдХрд▓рдХ, рдПрдкреАрдЖрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдбреАрдмрдЧрд┐рдВрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╢рд╛рдорд┐рд▓ рдерд╛ред рдХрдЯреМрддреА рдХреЗ рддрд╣рдд - рдЗрд╕ рд╕рдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗред
рдФрд░ рд╣рд╛рдВ, рдЯреВрд▓рдХрд┐рдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбрд╛рдЙрдирд▓реЛрдб, рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ - рд▓рд┐рдВрдХ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реИрдВред рдФрд░ рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ - рдРрд╕рд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрддрд╛рдКрдВрдЧрд╛ред

рдЖрдЬ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдЗрд╖реНрдЯрддрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдирд╣реАрдВ рд╣реИ - рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рднрд╛рд░ рдЙрдирдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВред рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЙрддреНрдкрд╛рджрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рд╕рдкрдирд╛ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рднреА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡реЗ рд╕реНрдХреЗрд▓рд░, рд╡реЗрдХреНрдЯрд░, рдореИрдЯреНрд░рд┐рдХреНрд╕ рдпрд╛ рд╕реНрдерд╛рдирд┐рдХ рд╣реЛрдВ, рдФрд░ рдЕрдВрддрд┐рдо рд╕рдкрдирд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕реЗ рд╕рд╛рд░ рдХрд░рдиреЗ рдФрд░ рдХрд┐рд╕реА рднреА рдордВрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдпрд╣рд╛рдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЗрдВрдЯреЗрд▓ рд╡рдирдПрдкреАрдЖрдИ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ - рдЕрдм рдЗрд╕рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХред
рдбреЗрдЯрд╛ рд╕рдорд╛рдирд╛рдВрддрд░ C ++ (DPC ++)
DPC ++ C ++ рднрд╛рд╖рд╛ рдХрд╛ рдПрдХ рд╡рд┐рдХрд╛рд╕ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ
SYCL рд╢рд╛рдорд┐рд▓ рд╣реИ, рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП C ++ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрдкрдХреА рдХреНрд╖рдорддрд╛, рдЬрдмрдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЙрддреНрдкрд╛рджрдиред рдХрд┐рдЯ рдореЗрдВ рдПрдХ
рдХрдВрдкрд╛рдЗрд▓рд░ , рдлрд╝рдВрдХреНрд╢рдВрд╕ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕рд╛рде рдПрдХ рдХреЛрд░
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ DPC ++ рдореЗрдВ CUDA рдХреЛрдб рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ
рдЯреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ ред
рдкреНрд░рд╕рд┐рджреНрдз
рдЗрдВрдЯреЗрд▓ рдкреНрд░рджрд░реНрд╢рди рдкреБрд╕реНрддрдХрд╛рд▓рдпрдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди - рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдЙрдЪреНрдЪ рддреАрд╡реНрд░рддрд╛ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХрд╛ рдЕрдиреБрдХреВрд▓рдиред
рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЯреВрд▓ рдЬреЛ рд╕рднреА рдХреЗ рд▓рд┐рдП рднреА рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ
- Intel VTune Profiler - CPU, GPU рдФрд░ FPGA рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдмрд╛рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВред
- рдЗрдВрдЯреЗрд▓ рд╕рд▓рд╛рд╣рдХрд╛рд░ - рддреНрд╡рд░рдХ рдкрд░ рдХреБрд╢рд▓ рд╡реЗрдХреНрдЯрд░рдХрд░рдг, рдереНрд░реЗрдбрд┐рдВрдЧ рдФрд░ рдСрдлрд▓реЛрдб рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЕрдиреБрдХреВрд▓рдиред
рдЕрд░реНрдерд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреБрд╕реНрддрдХрд╛рд▓рдп:
рдЗрдВрдЯреЗрд▓ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯреЗрдб рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдкреНрд░рд╛рдЗрдорд┐рдЯрд┐рд╡реНрд╕ - рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, рдбреАрдПрд╕рдкреА, рдХрдореНрдкреНрд░реЗрд╢рди рдЖрджрд┐ рдХреЗ рдмреЗрд╕рд┐рдХ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рдкрд░рдлреЙрд░рдореЗрдВрд╕ рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯред
рдЬреАрдбреАрдмреА - рдбреАрдкреАрд╕реА ++, рд╕реА, рд╕реА ++ рдФрд░ рдлреЛрд░рдЯреНрд░рд╛рди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдЧрд╣рди рдкреНрд░рдгрд╛рд▓реА рдбреАрдмрдЧрд┐рдВрдЧред
рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ
рдЗрдВрдЯреЗрд▓ рд╡рдирдПрдкреАрдЖрдИ рдореВрд▓ рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рднрд╛рд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдПрдВ рднреА рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рд╣реИрдВ:
рдЗрдВрдЯреЗрд▓ рд╡рдирдПрдкреАрдЖрдИ рдХреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдЕрдм рдЗрдВрдЯреЗрд▓ рд╕рд╛рдЗрдЯ рд╕реЗ рд▓рд┐рдирдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рд╡рд┐рддрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдФрд░ рдЖрдк рдХреБрдЫ рднреА рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди
oneAPI рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕реИрдВрдбрдмреЙрдХреНрд╕ Intel
DevCloud рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдкреВрд░реНрд╡-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП OneAPI рдХреЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ред рдЗрдВрдЯреЗрд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ 120 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рджреЗрд╡рдХреНрд▓рд╛рдЙрдб рддрдХ рдореБрдлреНрдд рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдЗрдВрдЯреЗрд▓ рд╡рдирдПрдкреАрдЖрдИ рдПрдХ рдмрдбрд╝рд╛ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╖рдп рд╣реИ, рд╣рдо рдЗрд╕реЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВред
PS рдЕрдЧрд░ рдЗрд╕ рд╢реБрдХреНрд░рд╡рд╛рд░, 22 рдирд╡рдВрдмрд░, 2019 рджреЛрдкрд╣рд░, рдЖрдк рдирд┐рдЬрд╝рдиреА рдиреЛрд╡рдЧреЛрд░реЛрдб рдореЗрдВ рдПрдХ рд╕рдВрддреБрд╖реНрдЯ рдЗрдВрдЯреЗрд▓ рдХрд░реНрдордЪрд╛рд░реА рд╕реЗ рдорд┐рд▓реЗрдВрдЧреЗ, рддреЛ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдЫреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд╛рдпрдХ рдЖрд░рд╛рдо рдХрд╛ рдЖрдирдВрдж рд▓реЗрддрд╛ рд╣реИ - рдПрдХрдПрдкреАрдЖрдИ рдмреАрдЯрд╛ рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдиреЛрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдЬрд╝рдиреА рдиреЛрд╡рдЧреЛрд░реЛрдб рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдиреЗ рдПрдХ рдмрдбрд╝рд╛ рдХрджрдо рдЙрдард╛рдпрд╛ рднрд╛рдЧреАрджрд╛рд░реАред