рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ рдПрдХрд▓ рдЧрдгрдирд╛ рдХрд╛рд░реНрдп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ, рдПрдХ рдпреВрдирд┐рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реЗ рд▓реЗрдХрд░ рдПрдХ рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдПрдХ рдУрдкрдирд╕реАрдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рддрдХред

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ (C #) рдореИрдВ рд╡рд┐рддреНрддреАрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреБрдЫ "рдкрдХреНрд╖реА" рднрд╛рд╖рд╛ рдореЗрдВ рд╡рд┐рддреНрддреАрдп рдЬрд╛рдирдХрд╛рд░реА (рд╡рд┐рддреНрддреАрдп рд╕рд╛рдзрдиреЛрдВ рдкрд░ рдЙрджреНрдзрд░рдг рдФрд░ рдЕрдиреНрдп рдбреЗрдЯрд╛) рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЯреНрд░реЗрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (рдЯреАрдПрд╕) рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рд╣реИред
рд╡рд╛рд╣рди рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЙрд╕рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рджрд┐рди рдХреЗ рдЕрдВрджрд░, рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдЯреАрдПрд╕ рд╡рд░реНрддрдорд╛рди рдмрд╛рдЬрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓ рд╣реИред рдХрд╛рд░реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЙрджреНрдзрд░рдгреЛрдВ (рдмреИрдХрдЯрд╕реНрдЯрд┐рдВрдЧ) рдХреЗ рдкреВрд░реНрд╡рд╡реНрдпрд╛рдкреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреАрдПрд╕ рдХреЗ рдЗрд╖реНрдЯрддрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдерд╛ред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╖реНрдЯрддрдо рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдкреВрд░реНрдг рдмрд╕реНрдЯ рдерд╛ред
- рд╡рд╛рд╣рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╕рдВрдХрд▓рд┐рдд рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рд╕реНрд╡рдпрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмреАрдЪ рд╕реАрдорд╛рдПрдВ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЧрдгрдирд╛ рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХрджрдо рдХреЗ рд╕рд╛рде рд╕реАрдорд╛рдУрдВ рдХреЗ рдЕрдВрджрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЫреЛрдЯрд╛ рдХрджрдо, рдЙрдЪреНрдЪ рд╕рдЯреАрдХрддрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдорд╛рдирд╛ рдЕрдзрд┐рдХ рд╡рд┐рдХрд▓реНрдкред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╕рдВрдпреЛрдЬрди рдХрд╛ рдПрдХ рд╕рдорд╛рди рд╕реЗрдЯ рдПрдХ n- рдЖрдпрд╛рдореА рд╡рд┐рд░рд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реЗрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рд▓ рд▓рд┐рдВрдХ рдХреА рдЧрдИ рд╕реВрдЪреА рдереАред
- рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП, рд╡рд╛рд╣рди рдХрд╛ рдЕрдиреБрдХрд░рдгред
рдЯреАрдПрд╕ рдЙрджреНрдзрд░рдг рдХреЗ рдкреВрд░реЗ рд╕реЗрдЯ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ рдФрд░, рдЬрдм рд╢рд░реНрддреЗрдВ рдкреВрд░реА рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдпрд╣ рдЦрд░реАрдж / рдмрд┐рдХреНрд░реА рд▓реЗрдирджреЗрди рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд╛рд╣рди рдХреЗ рдХрд╛рдо рдХреЗ рдХреБрд▓ рд╡рд┐рддреНрддреАрдп рдкрд░рд┐рдгрд╛рдо рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЕрдиреБрдХрд░рдг рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд┐рддреНрддреАрдп рдкрд░рд┐рдгрд╛рдо рдмрдЪ рдЬрд╛рддрд╛ рд╣реИред
- рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рднреА рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмреАрдЪ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП, рдПрдХ рдФрд░ рдЕрдиреБрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рднреА рд▓реЗрдирджреЗрди рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рдеред
рдкрд╣рд▓рд╛ рдХрд╛рдо рд╕рдВрд╕реНрдХрд░рдг
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдкрд╣рд▓рд╛ рдЙрдкрдпреЛрдЧреА (рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП) рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдЧрдгрдирд╛ рдмрд╣реБрдд рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред
рдЦреЛрдЬ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдзрд╛рдЧреЗ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ 4 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХрд╛ рднрд╛рд░ рдХрд╛рдлреА рдХрдо рдерд╛ред рддреБрд░рдВрдд рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдХрд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рд╕реАрдкреАрдпреВ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг
рдЯреАрдПрд╕ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдкрд░
Parallel.ForEach рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╡рд╛рд╣ рд╡рд┐рддрд░рдг рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
Parallel.ForEach(counters, counter => Process(points, counter));
рд▓реЗрдХрд┐рди рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рдмрд╛рдж, рд▓рд╛рдн рдирдЧрдгреНрдп рдерд╛ред рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдУрд╡рд░рд╣реЗрдб рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдирд┐рдХрд▓рд╛ред рдпрд╛рдиреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдзрд╛рд░рд╛ рдХреЛ рдЖрд░рдореНрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдерд╛ред
рдореИрдВрдиреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдкреВрд░реЗ рд╕реЗрдЯ рдХреЛ рд▓рдЧрднрдЧ рд╕рдорд╛рди-рдЖрдХрд╛рд░ рдХреЗ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ред рдмреНрд▓реЙрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╕реЗрдЯ рд╣реИред
Parallel.For(0, processorCount, i => Process(points, block[i]));
рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдЧреБрдард▓реА рд╕рдорд╛рди рд░реВрдк рд╕реЗ 99-100% рддрдХ рд▓реЛрдб рд╣реБрдИ рдФрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рдордп рд▓рдЧрднрдЧ 4 рдЧреБрдирд╛ рдХрдо рд╣реЛ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдПрдХ рдЖрджрд░реНрд╢ рдХрд╛рд░реНрдп рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рддреНрд╡рд░рдг рд╕реЗ рдмрд╣реБрдд рдЦреБрд╢ рдерд╛ред
рд▓реЗрдХрд┐рди рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рдмрд╛рдж, рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдФрд░ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рд╕реИрдХрдбрд╝реЛрдВ рдмрд╛рд░ рдЦреЛрдЬ рдорд╛рддреНрд░рд╛ рдХреЛ рдмрдврд╝рд╛рдпрд╛ред 2 рд╕рдкреНрддрд╛рд╣ рдХреЗ рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЙрдХ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рдПрдХ рдирдИ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд▓рдЧрднрдЧ рдПрдХ рджрд┐рди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд▓рдЧ рд░рд╣рд╛ рдерд╛ред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╕рд░рд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ - рдпрд╣ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдПрдХ рд╕рдЦреНрдд рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯ рдореЗрдВ рдХрдо рд╣реЛ рдЧрдпрд╛ рдерд╛, рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдиреЗ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИрдВред
рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдзрд┐ рднреА рд╡рд┐рдлрд▓ рд░рд╣реА, рдХреНрдпреЛрдВрдХрд┐ рдЙрджреНрджреЗрд╢реНрдп рд╕рдорд╛рд░реЛрд╣ (рдЯреНрд░реЗрдбрд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдо) рдореЗрдВ рдХрдИ рд╕реНрдерд╛рдиреАрдп рдореИрдХреНрд╕рд┐рдорд╛ рдереЗред рдПрдХ рд╡реНрдпрд╛рдкрдХ рдХрджрдо рдХреЗ рд╕рд╛рде рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреБрдЬрд░ рдмрд╕ рд╡реИрд╢реНрд╡рд┐рдХ рдЕрдзрд┐рдХрддрдо рдпрд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдЕрднреА рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╢рдХреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред
GPU рдкреЛрд░реНрдЯрд┐рдВрдЧ
GPU рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рдерд╛ред рдмреЗрд╢рдХ, рдореИрдВрдиреЗ рд▓реЗрдЦ рдкрдврд╝рд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рд╢рд╛рдВрдд рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдкрддрд╛ рдирд╣реАрдВ рдерд╛ред
рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рд╕рдордЭрдирд╛ рд╕рд╛рд░реНрдердХ рдерд╛ред рдпрджрд┐ рдЖрдк рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рднреА рдЖрдкрдХреЛ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдорд┐рд▓реЗрдЧрд╛ред
рдореИрдВрдиреЗ iTunes
рд╕реЗ Stanford CUDA рдкрд╛рдареНрдпрдХреНрд░рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдФрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдЗрд╕ рдмрд╛рдд рдореЗрдВ рдЕрдЪреНрдЫреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рджреЗрддреЗ рд╣реИрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдкрд╣рд▓реЗ 5 рд╡реНрдпрд╛рдЦреНрдпрд╛рдиреЛрдВ рдХрд╛ рдЖрдзрд╛рд░ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ рдХрд┐ рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ CUDA рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ OpenCL рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реБрдЖ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдШрд░ рдкрд░ рдПрдПрдордбреА рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рд╣реИрдВ, рдФрд░ рдХрд╛рдо рдкрд░ рдПрдирд╡реАрдЖрдИрдбреАрдЖрдИрдП рд╣реИред
рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ OpenCL рдореЗрдВ CUDA рд╢рдмреНрджреЛрдВ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдПрдХ
рд╢рдмреНрджрдХреЛрд╢ рд╕реЗ рд▓реИрд╕ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЪрд╛рд░ рдШрдВрдЯреЛрдВ рдореЗрдВ рдореИрдВрдиреЗ рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд┐рдЦрд╛ред OpenCL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ
OpenCL.Net рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рд╡рд╛рд╣рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЙрджреНрдзрд░рдг рдФрд░ рд╕реЗрдЯ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдбреЗрдЯрд╛ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдкрд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдпреЛрдЬрди рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╛рдиреА рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдкреНрд░рд╡рд╛рд╣ рдиреЗ рдЕрдкрдиреЗ рд╡рд╛рд╣рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрдврд╝рд╛ рдФрд░ рдлрд┐рд░ рдЙрджреНрдзрд░рдгреЛрдВ рдХреЗ рдкреВрд░реЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ред рд╕рднреА рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рд╕реЗ рд▓рд┐рдП рдЧрдП рдереЗред
рдФрд░ рдлрд┐рд░ рдореИрдВрдиреЗ рдзрдХреНрдХреЛрдВ рдХреА рдЭрдбрд╝реА рд▓рдЧрд╛ рджреА:
- рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдиреЗ рдХреБрдЫ рдЧрд┐рдирд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рдФрд░ рдЧрд┐рдирд╛ред рдкрд░рд┐рдгрд╛рдо рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рдереЗред
рдПрдХ рд▓рдВрдмреА рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореИрдВ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдмреВрд▓ 1 рдмрд╛рдЗрдЯ рд▓реЗрддрд╛ рд╣реИред рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ , рдпрд╣ рдЗрдВрдЯ рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рддреИрдирд╛рдд рд╣реИ рдФрд░ 4 рдмрд╛рдЗрдЯреНрд╕ рд▓реЗрддрд╛ рд╣реИред рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЯреНрд░рд╛рдВрд╕рдорд┐рдЯ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЯ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред - рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо "рд▓рдЧрднрдЧ рдПрдХ рд╣реА" рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕реАрдкреАрдпреВ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рдереЗред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдореИрдВрдиреЗ cl-code рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдФрд░ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдкрд╛рдИред рдореБрдЭреЗ рд╕реАрдкреАрдпреВ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪрдирд╛ рдкрдбрд╝рд╛, рдФрд░ рд╣рд╛рдВ, рддреНрд░реБрдЯрд┐ рдереАред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЕрдиреБрдХреВрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рдореИрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рд▓рдЧрд╛ рдерд╛, рдЬреЛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА-рдХрднреА рдЕрддрд┐рд╢реНрдпреЛрдХреНрддрд┐рдкреВрд░реНрдг рдирд╣реАрдВ рдирд┐рдХрд▓рд╛ред рд╕реАрдкреАрдпреВ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ "рдЕрдиреБрдХреВрд▓рди" рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдгрд╛рдо рдореЗрд▓ рдЦрд╛рдиреЗ рд▓рдЧреЗред
- рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдПрдХ рдШрд░реЗрд▓реВ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕рднреА рдкреНрд░рдпреЛрдЧ рдХрд┐рдПред рдХрд╛рдо рдкрд░ рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕реНрдореГрддрд┐ рдХреЗ рдЕрднрд╛рд╡ рдореЗрдВ рдХрдИ рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрд╡реЗрджрди рдорд░ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╛рде рд╣реА рдШрд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдареАрдХ рдард╛рдХ рдЪрд▓рд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрдореЛрд░реА рдХреЛ рдореБрдХреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА, рдПрдПрдордбреА рдХреЗ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдиреЗ рдЗрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдХреИрдВрдЯ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ред NVIDIA рдХреЗ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдорд╛рдл рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЙрд╕рдХреЗ рдмрд╛рдж рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпрд╛рдВ рд╣реБрдИрдВ, рдЬрд┐рдирдореЗрдВ рдореИрдВ
рдХрд░реНрдиреЗрд▓ рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рд╕реЗ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рдПрдХ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдерд╛ред
рдкрд░рд┐рдгрд╛рдо
рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╣реБрдд рдкреНрд░рд╕рдиреНрди рдерд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕рдХреЗ рдХрдордЬреЛрд░ Radeon 5450 (80 рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░) рдкрд░, рдЧрдгрдирд╛ рджрд░реНрдЬрдиреЛрдВ рдмрд╛рд░ рддреЗрдЬ рд╣реБрдИред
рдЙрдиреНрд╣реЛрдВрдиреЗ рддреБрд░рдВрдд рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рддрдирд╛ рджреЗрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдХрд┐ рдЙрдирдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рдХрд┐рддрдирд╛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрд╛рд░реНрдб рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдореИрдВ рдЙрдирдХреЗ рдкреАрдПрд╕рдпреВ рдФрд░ рдПрдордкреА рдХреЗ рд░рд┐рдореЛрдЯ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдХреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗ рд╕рдХрд╛), рдХрд┐рддрдиреЗ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдпреВрдирд┐рдЯ рдореЗрдВ рдкреНрд▓рдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдВрдХ рднреЗрдЬрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдереА)
рдмрд┐рдЯрдХреЙрдЗрди рдЦреЗрддреЛрдВ рдХреА рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЧреАрдХ-рдкреЛрд░реНрди рдкрд░), рдФрд░ рдХреНрдпрд╛ рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдХрдИ рдорд╢реАрдиреЛрдВ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ (2 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЙрдХ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг):
1) AMD Phenom II X6 1090T (6 рдХреЛрд░, 100% рд▓реЛрдб) - 4 рдШрдВрдЯреЗ 48 рдорд┐рдирдЯ (288 рдорд┐рдирдЯ)
2) Radeon 5850 (1440 рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░, рд▓рдЧрднрдЧ 50% рд▓реЛрдб) - 4 рдорд┐рдирдЯ
рдпрд╛рдиреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп 72 рдЧреБрдирд╛ рдХрдо рд╣реЛ рдЧрдпрд╛ рдерд╛ред
рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдЖрд░рдПрдлрдкреА рджреНрд╡рд╛рд░рд╛ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдЯрд╛рдЗрдкреЛрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ, рдкреАрдПрдо рдореЗрдВ рдбреИрд╢ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрдлрд╝рди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВред