рд╕рдореНрдореЗрд▓рди рдХреЗ рджреВрд╕рд░реЗ рджрд┐рди, C ++ AMP рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо, рдмрд╣реБрдд рд╕рд╛рд░реА рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг

рдпрд╣
рдПрдПрдордбреА рдлреНрдпреВрдЬрди 11 рдбреЗрд╡рд▓рдкрд░ рд╢рд┐рдЦрд░ рд╕рдореНрдореЗрд▓рди рд╕рдореНрдореЗрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛рдиреА рдХрд╛ рдПрдХ рд╕рд┐рд▓рд╕рд┐рд▓рд╛ рд╣реИ, рдЬреЛ рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рдЕрдореЗрд░рд┐рдХрд╛ рдХреЗ рдмреЗрд▓рд╡реНрдпреВ рдореЗрдВ рд╣реБрдЖ рдерд╛ред рдХрд╣рд╛рдиреА рдХреА рд╢реБрд░реБрдЖрдд
рдпрд╣рд╛рдВ (рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рддрдХрдиреАрдХреА рд░реВрдк рдореЗрдВ) рдпрд╛ рдпрд╣рд╛рдВ (рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рдореЗрдВ
рд╢реБрд░реБрдЖрдд рдФрд░
рдирд┐рд░рдВрддрд░рддрд╛ ) рдкрдврд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдХрд╣рд╛рдиреА рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рдореИрдВрдиреЗ рд╕рдореНрдореЗрд▓рди рдХреЗ рд╢реБрд░реБрдЖрддреА рджрд┐рдиреЛрдВ, рдПрдПрдордбреА рдФрд░ рдПрдЖрд░рдПрдо рдХрдВрдкрдирд┐рдпреЛрдВ рдХреА рдкреВрд░реНрдг рд░рд┐рдкреЛрд░реНрдЯ, рдирдИ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреАред рдХрд╣рд╛рдиреА рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рд╕рдореНрдореЗрд▓рди рдХреЗ рджреВрд╕рд░реЗ рджрд┐рди, Microsoft рдкреВрд░реНрдг рд░рд┐рдкреЛрд░реНрдЯ рдФрд░ C ++ AMP рддрдХрдиреАрдХ рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рдпрд╣ рдореЗрд░реА рд╕рдореНрдореЗрд▓рди рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдЫреЛрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдШрдЯрдирд╛, рдШреЛрд╖рдгрд╛рдУрдВ рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓реЗрдЧреАред рдпрджрд┐ рдЖрдк рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рднрд╛рд╡рдирд╛рдУрдВ, рд╡рд┐рдЪрд╛рд░реЛрдВ рдФрд░ рдпрд╛рддреНрд░рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд▓реЗрдЦ рдХреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП
рдЗрд╕ рд▓рд┐рдВрдХ рдХрд╛ рдкрд╛рд▓рди
рдХрд░реЗрдВ ред
рд╕рдореНрдореЗрд▓рди рдХрд╛ рджреВрд╕рд░рд╛ рджрд┐рди рд╡рд┐рд╖рдо рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдкрд░ рдПрдХ Microsoft рдкреВрд░реНрдг рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖред рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рд╣рд░реНрдм рд╕рдЯрд░ рдиреЗ рдкрдврд╝рд╛ рдерд╛, рдЬреЛ рдХрдВрдкрдиреА рдХреЗ рдЙрддреНрдкрд╛рдж рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛ред
Microsoft рдкреВрд░реНрдг рд░рд┐рдкреЛрд░реНрдЯ


рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рд╖рдп рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╡рд░реНрддрдорд╛рди рд╡рд┐рдХрд╛рд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдереА, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдореЗрдВ рдорд▓реНрдЯреА-рдХреЛрд░ рд╕реАрдкреАрдпреВ рдФрд░ рдЬреАрдкреАрдпреВ рд╕реЗ рдпреБрдХреНрдд рд╡рд┐рд╢рд╛рд▓ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рдереАред Microsoft рдЖрд╢реНрд╡рд╕реНрдд рд╣реИ рдХрд┐ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рднрд╡рд┐рд╖реНрдп рд╡рд┐рд╖рдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдХреБрд╢рд▓ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдЗрд╕реА рд╕рдордп, рд╕рдЯрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХрд┐рд╕реА рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реБрдЭрд╛рдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: рдорд▓реНрдЯреА-рдХреЛрд░ рд╕реАрдкреАрдпреВ, рдЬреАрдкреАрдЬреАрдкреАрдпреВ рдФрд░ рдХреНрд▓рд╛рдЙрдб рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЕрд▓рдЧ рд╕реЗред рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкреНрд░рд╡реГрддреНрддрд┐ рд╣реИ - рд╡рд┐рд╖рдо рд╕рдорд╛рдирд╛рдВрддрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ, рдЕрд░реНрдерд╛рддреН, рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЙрдкрд▓рдмреНрдз рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЦрдкрдд, рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛: рдлреЛрди, рдЯреИрдмрд▓реЗрдЯ, рд▓реИрдкрдЯреЙрдк, рдХрдВрдкреНрдпреВрдЯрд░ рдпрд╛ рдХреНрд▓рд╛рдЙрдбред


рд╕рдЯрд░ рдиреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдФрд░ рдореЙрдбрд▓реЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдмрд╛рддреЗрдВ рдХреАрдВред


рдЙрд╕рдХреЗ рдмрд╛рдж, рдирдП C ++ AMP рд╡рд┐рд╖рдо рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдордВрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмрдбрд╝реА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрд░реНрдо рдЦреЛрдЬ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, C ++ AMP Microsoft рдХреА рдЦреБрд▓реА рдкрд╣рд▓ рд╣реИ рдХрд┐ рд╡рд╣ C ++ рднрд╛рд╖рд╛ рдХреЛ рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдХреЗ рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╖рдо рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╕рднреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреНрд╖рдорддрд╛: APU, CPU, GPU рдХрд╛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдмрдирд╛ рд╕рдХреЗред
C ++ AMP C ++ рднрд╛рд╖рд╛ (рдлрд╝рдВрдХреНрд╢рди, рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░) рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА C ++ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рд▓рдВрдмреЗ рдЕрдзреНрдпрдпрди рдХреЗ рдмрд┐рдирд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рд╖рдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╢рдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред C ++ AMP рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдирдП C ++ рдорд╛рдирдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рд▓реИрдореНрдмрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ Microsoft Visual Studio рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рд╡реЗрд╢ рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рдкреВрд░реНрдг рд░рд┐рдкреЛрд░реНрдЯ рдиреЗ C ++ AMP рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдХрдгреЛрдВ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рд╕рд┐рдореБрд▓реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд╕реА ++ рдПрдПрдордкреА рдХреЗ рд╕рд╛рде, рдЙрддреНрдХреГрд╖реНрдЯ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдПрдХ рдЕрд╕рддрдд рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдпрдорд┐рдд рд▓реИрдкрдЯреЙрдк рдкрд░, рджрд╕ рдЧреАрдЧрд╛рдлреНрд▓реЙрдкреНрд╕ рдХреА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХреА рдЧрдИ рдереАред рджреЛ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рд╕реЗ рд▓реИрд╕ рдПрдХ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рд┐рд╕реНрдЯрдо рдиреЗ 815 рдЧрд┐рдЧрд╛рдлреНрд▓реЙрдкреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдХреЛрдб рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ред




рдПрдХ рд╢рд╛рдирджрд╛рд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рдж, рдирдП рд╕реА ++ рдПрдПрдордкреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдЬрд╛рд░реА рд░рд╣рд╛ред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдиреЗ рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░рдг рд╡реНрдпрдХреНрдд рдХрд┐рдП рдЧрдП:
- рд╕реА + + (рд╕реА рдХреЗ рдмрдЬрд╛рдп) рдЖрд╡реЗрджрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ;
- рд╡рд┐рд╖рдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореБрдЦреНрдпрдзрд╛рд░рд╛ рдмрди рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн;
- рдкреНрд░рд╡реЗрд╢ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рднрд╛рд╖рд╛ рд╡рд┐рд╕реНрддрд╛рд░;
- рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА, рдПрдХ рдХреЛрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдЙрдкрд▓рдмреНрдз рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджреНрджреЗрд╢реНрдп, рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛ рднрд╡рд┐рд╖реНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдФрд░ рдХреНрд▓рд╛рдЙрдб рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдХрд░реЛрдбрд╝реЛрдВ GPU рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдпреВрдирд┐рдЯ рднрд╡рд┐рд╖реНрдп рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреА;
- рдЦреБрд▓рд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рдереА рдХрд┐ рдирдпрд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЕрдЧрд▓реА рдкреАрдврд╝реА рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рдПрдЧрд╛, рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдХ рдЦреБрд▓реЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рддрд╣рдд рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ Microsoft рдЗрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛ рдЕрдиреНрдп рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред
рдЗрд╕ рдкреВрд░реНрдг рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдПрдХ рдЕрдиреНрдп рдкреНрд░рдореБрдЦ рдШреЛрд╖рдгрд╛ рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ GPU рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрди, рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдЯреВрд▓ рдХреА рдШреЛрд╖рдгрд╛ рдереАред

рдпрд╣ Microsoft рдХреА рдкреВрд░реНрдг рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░реЗрд╕ рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреНрд░рд╢реНрдиреЛрддреНрддрд░ рд╕рддреНрд░ рд╣реБрдЖ, рдЬрд┐рд╕ рдкрд░ рд╣рд░реНрдм рд╕рдЯрд░ рдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рджрд┐рдПред рдореИрдВрдиреЗ рдПрдХ рд╕рд╡рд╛рд▓ рдкреВрдЫрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ .NET рдХреЛрдб рдХреЗ рд▓рд┐рдП C ++ AMP рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпрд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рд╕рдорд╛рдирддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИред рдЬрд┐рд╕ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдЬрд╡рд╛рдм рдорд┐рд▓рд╛ рдХрд┐ рдХрдВрдкрдиреА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ C ++ AMP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд┐рд╕реА рднреА рдЕрдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреА рддрд░рд╣ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, P / Invoke рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
рд╕рдмрд╕реЗ рдЗрдЪреНрдЫреБрдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП, Microsoft рдиреЗ рдирдП рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдПрдХ рдирд┐рдЬреА рдкреНрд░рджрд░реНрд╢рди рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛, рдЬрд┐рд╕реЗ рдЧреИрд░-рдкреНрд░рдХрдЯреАрдХрд░рдг рд╕рдордЭреМрддреЗ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдХреЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ, рд╣рд░ рдХреЛрдИ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рдирдП рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдкрдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ Microsoft рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЫрд╛рдкреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд░рд┐рдкреЛрд░реНрдЯ
рдкреВрд░реНрдг рд░рд┐рдкреЛрд░реНрдЯ рдФрд░ рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рдЙрддреНрддрд░реЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХрд╛ рджреМрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдкрд╣рд▓реЗ Microsoft рдХреА C ++ рдХреЙрдиреНрд╕рд┐рд▓рд┐рдЯреА рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓реЗрдмрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдХреЗ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдереА, рдЬрд┐рд╕рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010, рд╡рд┐рдЬреБрдЕрд▓ C ++ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреИрдЯрд░реНрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рд╕рддреНрд░ рдиреЗ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЯреВрд▓ рдФрд░ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреАред рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рд╕рдорд╛рдирд╛рдВрддрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕, рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред


рдЗрд╕ рдмрд╛рддрдЪреАрдд рдХреЗ рдмрд╛рдж, рдореИрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдЖрдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдЧрдИ рдереАред рд░рд┐рдкреЛрд░реНрдЯ рдиреЗ .NET: TPL рдФрд░ TDL рдбреЗрдЯрд╛рдлрд╝реНрд▓реЛ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдирдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд┐рдпрд╛ред


рджреЛрдиреЛрдВ рд░рд┐рдкреЛрд░реНрдЯ рдордзреНрдпрдо рддрдХрдиреАрдХреА рдФрд░ рдордзреНрдпрдо рд░реВрдк рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдереАрдВ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХреЗ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдкрд┐рдЫрд▓рд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдерд╛ред рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рддрдХрдиреАрдХреА рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЗ рд╕рд╛рде рдПрдПрдордбреА рдлреНрдпреВрдЬрди 11 рд╕рдореНрдореЗрд▓рди рдХреА рд╕рдВрддреГрдкреНрддрд┐ рдХреЗ рджрд╛рдпрд░реЗ рдФрд░ рдбрд┐рдЧреНрд░реА рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рджрд┐рди рдкрд╣рд▓реЗ рдЙрдирдХреА рд╕реВрдЪреА рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреА рдЪрд╛рд╣рд┐рдП:
- рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрд╢рди: рдлреНрдпреВрдЬрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рд╕реАрдкреАрдпреВ-рдЬреАрдкреАрдпреВ рдХрд░реНрдиреЗрд▓ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдЕрд╡рд╕рд░
- рдЕрдЧрд▓реА рдкреАрдврд╝реА рдХрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ 3 рдбреА рдЗрдорд░реНрд╕рд┐рд╡ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕
- GPU рддреНрд╡рд░рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕
- EDEM рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП AMD FirePro V9800 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- APU / GPGPU- рдЖрдзрд╛рд░рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╛рдзрд╛рди
- .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рднрд╡рд┐рд╖реНрдп
- рд╡рд┐рд╖рдо рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдЙрдЪреНрдЪ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреА рдУрд░
- рдорд▓реНрдЯреА-рдЬреАрдкреАрдпреВ, рдУрдкрдирд╕реАрдПрд▓, рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
- OpenCL рдФрд░ APU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЙрдиреНрдирдд рдкреНрд░рддрд┐рдкрд╛рджрди рдкреНрд░рднрд╛рд╡
- Altair RADIOSS рд╕реЙрд▓реНрд╡рд░ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдПрдХ AMD GPU рдХрд╛ рдЙрдкрдпреЛрдЧ
- рд╕реИрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг
- рдЬреАрдкреАрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрди рдПрдХреНрд╕реЗрд▓реЗрд░реЗрд╢рди
- рд╣рд╛рдЗрдмреНрд░рд┐рдб рд╣рд╛рдЗрдмреНрд░рд┐рдб рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ: рдкреАрдПрд▓рдПрдо рдЙрджреНрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЪреБрдиреМрддрд┐рдпрд╛рдВ рдФрд░ рдЕрд╡рд╕рд░
- рд░рд┐рдЪ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡, рдорд▓реНрдЯреА-рдбрд┐рд╡рд╛рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЕрдЧрд▓реА рдкреАрдврд╝реА
- рдЬреЗрд╕реНрдЪрд░ рдХрдВрдЯреНрд░реЛрд▓ рдФрд░ рдореЛрд╢рди рдХреИрдкреНрдЪрд░ рдЗрдВрдЯрд░рдлреЗрд╕
- рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ C ++ рдХрдВрд╕реАрд▓рд░ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓реЗрдмрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛
- рдЫрд╡рд┐ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдореЗрдВ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЪреБрдиреМрддрд┐рдпрд╛рдВ
- рдЧрд░реНрдн рдФрд░ рд╕рд┐рдиреЗрдорд╛рдИ рдЗрдВрдЯрд░рдлреЗрд╕
- рд╡реАрдбрд┐рдпреЛ рд╕рдВрд╡рд░реНрджреНрдзрди рдФрд░ рд╕реНрдЯреАрд░рд┐рдпреЛ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП GPU рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг
- DirectX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЙрдиреНрдирдд рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛
- Microsoft рд╡рд┐рдЬрд╝реБрдЕрд▓ C ++ рдХреЗ рд╕рд╛рде GPU рдФрд░ рдЕрдзрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдзрдзрдХрддреЗ-рддреЗрдЬрд╝ рдХреЛрдб
- рд╕рд░реНрдлреЗрд╕ рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ, рдбреЗрдкреНрде рдХреИрдорд░рд╛ рдФрд░ рдмрд┐рдпреЙрдиреНрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдХреГрддрд┐рдХ, рдПрдирд╛рд▓реЙрдЧ рдЗрдВрдЯрд░реИрдХреНрд╢рди
- SHOC рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╕реБрдЗрдЯ // рдПрдПрдордбреА рдорд▓реНрдЯреА-рдХреЛрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдпреВрдирд┐рдЯреНрд╕ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг // рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░-рдЕрд╡реЗрдпрд░ рдореИрдкрд┐рдВрдЧ рдФрд░ 1600-рдХреЛрд░ рдЬреАрдкреАрдпреВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди
- рд╡рд┐рд╖рдо рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ рд╡рд┐рд╖рдп: рд╕рд░рд▓реАрдХреГрдд рд╕реАрдкреАрдпреВ-рдЬреАрдкреАрдпреВ рд▓реЙрдЬрд┐рдХрд▓ рдбреЗрдЯрд╛ рд╢реЗрдпрд░рд┐рдВрдЧ // рдПрдЪрдПрдордЯреАрдПрд╕-рдПрдХ рд╕рдорд╛рдирд╛рдВрддрд░ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА // рдЙрдиреНрдирдд рдУрдкрдирд╕реАрдПрд▓ рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ - рдП рдХреЗрд╕ рд╕реНрдЯрдбреА
- рдХрдИ рдХреЗрдореИрди рдЬреАрдкреАрдпреВ рдФрд░ рдЗрдВрдЯрд░рд▓рд╛рдЧреЛрдВ рдХреЛ рдбреАрдЬреАрдИрдПрдордПрдо рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдирд╛ рдПрдЪрдкреАрдПрд▓ рдХреЗ рд▓рд┐рдП рдХрдИ-рдХреЛрд░ рд╕реАрдкреАрдпреВ // рдУрдкрдирд╕реАрдПрд▓ рдкрд░ рд╡рд┐рдХрд░реНрдг рд╡рд┐рд░рд▓ рдореИрдЯреНрд░рд┐рд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдкреИрдореА рдХрд╛ рдЕрдиреБрдХреВрд▓рдиред
- рдмрд╣реБ-рдХреЛрд░ рдкреНрд░реЛрд╕реЗрд╕рд░, GPU рдФрд░ FPGAs рдХреЗ рд╕рд╛рде рд╡рд┐рд╖рдо рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ // рд╡рд┐рд╖рдо рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд▓рдЯ рд╕рдорд╛рдирд╛рдВрддрд░рд╡рд╛рдж // Haskell рдХреЗ рд╕рд╛рде OpenCL рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛
- рдПрдХ рдЪреЗрд╣рд░рд╛ рдЦреЛрдЬреЗрдВ: OpenCl Persistent Threads, Queues, Workload Rebalancing and Other Pursuitsред // GPU рдЦреБрд▓рд╛ рдФрд░ рдлреЛрдЯреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд OpenCL рдореЗрдВ рд╡реАрдбрд┐рдпреЛ
- рдЕрдкрд░рдкреА: рдЬрд╛рд╡рд╛ рдХреА 'рд░рд╛рдЗрдЯ рд╡рдиреНрд╕ рд░рди рдПрдиреАрд╡реНрд╣реЗрдпрд░' рдЕрдм рдЬреАрдкреАрдпреВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреА рд╣реИ
- Mathematica рдФрд░ OpenCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рддреНрдд рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрдХ рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ // MOSIX рд╡рд░реНрдЪреБрдЕрд▓ OpenCL (VCL) рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо // AMD GPU рдкрд░ рдлрд╛рд╕реНрдЯ рдлреВрд░рд┐рдпрд░ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо
рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рдХрд╛рд╕, рд╡рд┐рд╖рдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ, GPU рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдПрдХ рд╕рдореБрджреНрд░ред рд╣рдо рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдореНрдореЗрд▓рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рдЙрдкрдпреЛрдЧреА рдерд╛ рдФрд░ рдХреЗрд╡рд▓ рдЙрди рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдерд╛ред
рдХреЛрд░рд▓ рдкреНрд▓реЗрдирд░реА рд░рд┐рдкреЛрд░реНрдЯ
рд╕рдореНрдореЗрд▓рди рдХреЗ рджреВрд╕рд░реЗ рджрд┐рди, рдХреЛрд░рд▓ рд╕реЗ рдПрдХ рдФрд░ рдкреВрд░реНрдг рд╡рд╛рд░реНрддрд╛ рд╣реБрдИред рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ, рдХрдВрдкрдиреА рдиреЗ рдЕрдкрдиреЗ рдЗрддрд┐рд╣рд╛рд╕ рдФрд░ рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреАрдЬ рдФрд░ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд╕рдлрд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ред


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


рд╕реА ++ рдПрдПрдордкреА рдореЗрдВ рдирд┐рдХрд╛рдпреЛрдВ рдХреА рдмрд╛рддрдЪреАрдд рдХреА рдЧрдгрдирд╛ рдХрд╛ рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдкреНрд░рджрд░реНрд╢рди рднреА рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдирдП рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде: рдХрдо рд╕реАрдкреАрдпреВ рдЦрдкрдд рд╡рд╛рд▓реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ 1522 рдЧреАрдЧрд╛рдлреНрд▓реЙрдкред


рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рджреМрд░рд╛рди, CPU рдФрд░ GPU рдХреА рдЖрдЬ рддреБрд▓рдирд╛ рдХреА рдЧрдИ:


рдЕрдВрдд рдореЗрдВ, рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде C ++ AMP рдХреЗ рд╡рд┐рд╡рд░рдг рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИред


рд╡рд┐рд╖рдо рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдбреЗрдЯрд╛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордВрдЪ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдирдП рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрд╛рдП рдЧрдП рдереЗред




рдФрд░ рдХреЗрд╡рд▓ рдирдпрд╛ рд╕рдорд╛рдВрддрд░_рдкрд░_рдЪреЗрдХ рдлрд╝рдВрдХреНрд╢рди рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЙрдкрд▓рдмреНрдз рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред

рд╡рд┐рд╖рдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдирдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП Microsoft рдПрдХ рдирдпрд╛ рднрд╛рд╖рд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХреБрдЫ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдХреЛрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдирд╡рд╛рдЪрд╛рд░ рдирдП рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рднрд╛рд╖рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХрд┐рд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рд░реНрджреЗрд╢ 3 рдбреА, рд╕реАрдкреАрдпреВ рдпрд╛ рдЕрдиреНрдп рдХреАрд╡рд░реНрдб рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕рдВрдХрд▓рдХ рдЖрд╡рд╢реНрдпрдХ рдХреНрд╖рдорддрд╛рдУрдВ (рдПрдкреАрдпреВ, рд╕реАрдкреАрдпреВ, рдЬреАрдкреАрдпреВ, рдХреНрд▓рд╛рдЙрдб) рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рд╕рд╣реА рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред


C ++ AMP рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдирд┐рдореНрди рд╣реИрдВред C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ GPU рджреНрд╡рд╛рд░рд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЧреБрдгрди:

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЛрдб рдкреБрд░рд╛рдиреЗ рд╕реАрд░рд┐рдпрд▓ рдХреЛрдб рд╕реЗ рдереЛрдбрд╝рд╛ рдмрдбрд╝рд╛ рд╣реИред рдпрд╣ рд╕реА ++ рдПрдПрдордкреА рдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ - рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рдореЗрдВ рдЖрд╕рд╛рдиреА рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреАред
рдХреБрд▓ рдореЗрдВ, C ++ AMP рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрддреНрд╡ рдЬреЛрдбрд╝рддрд╛ рд╣реИ:

рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдЧрдгрдирд╛ рдФрд░ GPU рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░ рдкреЗрд╢ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред


C ++ AMP рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ GPU, рдФрд░ рд╡рд┐рд╖рдо рдХреЛрдб рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ, рд░реВрдкрд░реЗрдЦрд╛ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ред


рд░рд┐рдкреЛрд░реНрдЯ рд╕рд╛рд░рд╛рдВрд╢:

C ++ AMP рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдореНрди рд▓рд┐рдВрдХ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕рдХреЗ рд╕рд╛рде, рдореИрдВ рдПрдПрдордбреА рдлреНрдпреВрдЬрди 11 рд╕рдореНрдореЗрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рдХрд╣рд╛рдиреА рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдпрд╣ рдШрдЯрдирд╛ рдмрд╣реБрдд рд╕рдореГрджреНрдз, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдард┐рдд, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рд╛рдордЧреНрд░реА рдФрд░ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдШреЛрд╖рдгрд╛рдПрдБ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИрдВред рдореИрдВрдиреЗ рдПрдХ рдкреНрд░реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЬрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЗрд╕реЗ рджреЗрдЦрд╛, рд╡реЗ рдкреНрд░рд╕рдиреНрди рдереЗред рд╕рдореНрдореЗрд▓рди рдХреЗ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рд╕реВрдЪреА рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдореИрдВ рдПрдПрдордбреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рджреЛрдиреЛрдВ рд╕рдореНрдореЗрд▓рди рдХреЗ рд▓рд┐рдП рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдПред рд╕рдореНрдореЗрд▓рди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдЧрд▓реЗ рд╕рд╛рд▓ рдЕрдЧрд▓реЗ рд╕рдореНрдореЗрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рд╕рдорд╛рдЪрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ
рдлреЙрд░реНрдо рд╣реИ ред рдореИрдВрдиреЗ рд╕рд╛рдЗрди рдЕрдк рдХрд┐рдпрд╛, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред