рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рд▓рд╛рдЗрдЯрд╣рд╛рдЙрд╕ 2 рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВред
рд╡реЗрд╡рдлреНрд░рдВрдЯ рдкрд╛рде рдЯреНрд░реЗрд╕рд┐рдВрдЧ , рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ NVIDIA рд╕реЗ рд▓реЗрди, рдХрд░реНрд░рд╛рд╕ рдФрд░ рдЖрдЗрд▓рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдкрде рдЕрдиреБрд░реЗрдЦрдг рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд╛рди рдПрдВрдЯрд╡рд░реНрдк
рдХреЗ рдорд╛рд╕реНрдЯрд░ рдереАрд╕рд┐рд╕ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИред GPU рдкрд░ рдХреБрд╢рд▓ рдкрде рдЯреНрд░реЗрд▓рд░реЛрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕, рдФрд░ CPU рдкрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдкрде рдЯреНрд░реЗрд▓рд░реЛрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрд╛рдлреА рдЙрд▓рдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рд░реЗ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЕрдзрд┐рднреЛрдЧ
рдкрде рдЕрдиреБрд░реЗрдЦрдг рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЫрджреНрдордХреЛрдб рдХреА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
vec3 Trace( vec3 O, vec3 D ) IntersectionData i = Scene::Intersect( O, D ) if (i == NoHit) return vec3( 0 )
рдЗрдирдкреБрдЯ рд╕реНрдХреНрд░реАрди рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреИрдорд░реЗ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реА
рдкреНрд░рд╛рдердорд┐рдХ рдХрд┐рд░рдг рд╣реИ ред рдЗрд╕ рдмреАрдо рдХреЗ рд▓рд┐рдП, рд╣рдо рджреГрд╢реНрдп рдХреЗ рдЖрджрд┐рдо рдХреЗ рд╕рд╛рде рдирд┐рдХрдЯрддрдо рдЪреМрд░рд╛рд╣реЗ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдЪреМрд░рд╛рд╣реЗ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдмреАрдо рд╢реВрдиреНрдп рдореЗрдВ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдпрджрд┐ рдХрд┐рд░рдг рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рддрдХ рдкрд╣реБрдВрдЪрддреА рд╣реИ, рддреЛ рд╣рдордиреЗ рд╕реНрд░реЛрдд рдФрд░ рдХреИрдорд░реЗ рдХреЗ рдмреАрдЪ рдкреНрд░рдХрд╛рд╢ рдкрде рдкрд╛рдпрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдореЗрдВ рдХреБрдЫ рдФрд░ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдкреНрд░рддрд┐рдмрд┐рдВрдм рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдмреАрдо рдЕрднреА рднреА рд░реЛрд╢рдиреА рдХрд╛ рд╕реНрд░реЛрдд рдвреВрдВрдвреЗрдЧрд╛ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рджреГрд╢реНрдп рдХреА рд╕рддрд╣ рдХреЛ рджрд░реНрд╢рд╛рддреА рдлреЛрдЯреЙрди рдХреЗ (рд╡рд╛рдкрд╕реА) рдкрде рд╕реЗ рдорд┐рд▓рддреА рдЬреБрд▓рддреА рд╣реИред
GPU рдХреЛ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдореЛрдб рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд░рдг рдЕрдиреБрд░реЗрдЦрдг рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░реАрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП OpenCL рдпрд╛ CUDA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреНрд░реАрдо рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИ: рдмрд╕ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП ShaderToy рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ рдХрд┐
рдХрд┐рддрдиреА рддреЗрдЬреА рд╕реЗ рд░реЗ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИ GPU рдкрд░ред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╡рд╛рд▓ рдЕрд▓рдЧ рд╣реИ: рдХреНрдпрд╛ рдпреЗ рдХрд┐рд░рдг рдХреЗ рдирд┐рд╢рд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ
рдЙрддрдиреЗ рд╣реА рддреЗрдЬрд╝ рд╣реИрдВ ?
рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдкреНрд░рд╛рдердорд┐рдХ рдХрд┐рд░рдг рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдХреЛ рддреБрд░рдВрдд, рдпрд╛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рдмрд╛рдж, рдпрд╛ рдкрдЪрд╛рд╕ рдкреНрд░рддрд┐рдмрд┐рдВрдмреЛрдВ рдХреЗ рдмрд╛рдж рдкрд╛ рд╕рдХрддреА рд╣реИред рд╕реАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдпрд╣рд╛рдВ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдЧрд╛; рдЬреАрдкреАрдпреВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ
рдСрдХреНрдпреВрдкреЗрдВрд╕реА рдкреНрд░реЙрдмреНрд▓рдо рджреЗрдЦрдиреА рдЪрд╛рд╣рд┐рдПред рд╕рдорд╕реНрдпрд╛ рд╕рд╢рд░реНрдд рдкреВрдВрдЫ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИ: рдкрде рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЬрд╛рд░реА рд░рд╣ рд╕рдХрддрд╛ рд╣реИред рдЖрдЗрдП рдЗрд╕реЗ рдХрдИ рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ: рдХреБрдЫ рдереНрд░реЗрдбреНрд╕ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рджреВрд╕рд░рд╛ рднрд╛рдЧ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред рдХреБрдЫ рдкреНрд░рддрд┐рдмрд┐рдВрдмреЛрдВ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдереНрд░реЗрдбреНрд╕ рд╣реЛрдВрдЧреЗ рдЬрд┐рдирдХреА рдЧрдгрдирд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдереНрд░реЗрдбреНрд╕ рдХрд╛рдо рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдЕрдВрддрд┐рдо рдереНрд░реЗрдбреНрд╕ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред
рд░реЛрдЬрдЧрд╛рд░ GPU рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдПрдХ рдЙрдкрд╛рдп рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд░реЛрдЬрдЧрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛ SIMT GPU рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЙрдбрд▓ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рдзрд╛рд░рд╛рдУрдВ рдХреЛ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рд╕реНрдХрд▓ рдЬреАрдкреАрдпреВ (рдПрдирд╡реАрдбрд┐рдпрд╛ рдЙрдкрдХрд░рдг рд╡рд░реНрдЧ 10xx) рдореЗрдВ 32 рдзрд╛рдЧреЗ рдПрдХ
рддрд╛рдирд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ
рд╣реИрдВ ред рддрд╛рдирд╛ рдХреЗ рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рдЙрдВрдЯрд░ рд╣реЛрддрд╛ рд╣реИ: рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЪрд░рдг рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдПрдХ рд╕рд╛рде 32 рдереНрд░реЗрдбреНрд╕ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред SIMT рдХрд╛ рдорддрд▓рдм
рд╕рд┐рдВрдЧрд▓ рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдорд▓реНрдЯрд┐рдкрд▓ рдереНрд░реЗрдб рд╣реИ , рдЬреЛ рдХреЙрдиреНрд╕реЗрдкреНрдЯ рдХрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред SIMT рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП, рд╢рд░реНрддреЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рдХреЛрдб рдЬрдЯрд┐рд▓ рд╣реИред рдпрд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЛрд▓реНрдЯрд╛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
SIMT рдореЗрдВ рд╢рд░реНрддреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрдиредрдЬрдм рддрд╛рдирд╛-рдмрд╛рдирд╛ рдореЗрдВ рдХреБрдЫ рд╕реВрддреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рд╕рд╣реА рд╣реЛрддреА рд╣реИ,
рддреЛ рдпрджрд┐ рдХрдерди рдХреА рд╢рд╛рдЦрд╛рдПрдБ рдХреНрд░рдордмрджреНрдз рд╣реЛрддреА рд╣реИрдВред "рд╕рднреА рдзрд╛рдЧреЗ рдПрдХ рд╣реА" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ "рдХреБрдЫ рдзрд╛рдЧреЗ рдЕрдХреНрд╖рдо рд╣реИрдВред" рдпрджрд┐ рддрддреНрдХрд╛рд▓реАрди рдмреНрд▓реЙрдХ рдореЗрдВ, рддрд╛рдирд╛ рдХрд╛ рдФрд╕рдд рд╡реНрдпрд╡рд╕рд╛рдп 50% рд╣реЛрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рд╕рднреА рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╕реНрдерд┐рд░рддрд╛ рди рд╣реЛред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрд┐рд░рдг рдЕрдиреБрд░реЗрдЦрдХ рдореЗрдВ рд╢рд░реНрддреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдЗрддрдирд╛ рджреБрд░реНрд▓рдн рдирд╣реАрдВ рд╣реИред рдЫрд╛рдпрд╛ рдХреА рдХрд┐рд░рдгреЗрдВ рдХреЗрд╡рд▓ рддрднреА рдЙрддреНрд╕рд░реНрдЬрд┐рдд рд╣реЛрддреА рд╣реИрдВ рдЬрдм рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдЫрд╛рдпрд╛рдВрдХрди рдмрд┐рдВрджреБ рдХреЗ рдкреАрдЫреЗ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрде рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рд╕реЗ рдЯрдХрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд░реВрд╕реА рд░реВрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдирд╖реНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдкрде рдХреЛ рдЬреАрд╡рд┐рдд рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рднреЛрдЧ рдЕрдХреНрд╖рдорддрд╛ рдХрд╛ рдореБрдЦреНрдп рд╕реНрд░реЛрдд рдмрди рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдЙрдкрд╛рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рд░реЛрдХрдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред
рдкрде рдЕрдиреБрд░реЗрдЦрдг рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ
рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкрде рдЕрдиреБрд░реЗрдЦрдг рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╡реНрдпрд╕реНрдд рд╕рдорд╕реНрдпрд╛ рдХреЗ рдореВрд▓ рдХрд╛рд░рдг рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкрде рдЕрдиреБрд░реЗрдЦрдг рдкрде рдЕрдиреБрд░реЗрдЦрдг рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЪрд╛рд░ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ:
- рдЙрддреНрдкрдиреНрди
- рд╡рд┐рд╕реНрддрд╛рд░
- рдЫрд╛рдпрд╛
- рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ
рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЛ рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдПрдХ рдПрдХрд▓ GPU рдкреНрд░реЛрдЧреНрд░рд╛рдо ("рдХрд░реНрдиреЗрд▓", рдХрд░реНрдиреЗрд▓) рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдкреВрд░реНрдг рдкрде рдЕрдиреБрдЪрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдореЗрдВ
рдЪрд╛рд░ рдХреЛрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЬрд▓реНрдж рд╣реА рджреЗрдЦреЗрдВрдЧреЗ, рд╡реЗ рдПрдХ рд▓реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рдЪрд░рдг 1 ("рдЙрддреНрдкрдиреНрди") рдкреНрд░рд╛рдердорд┐рдХ рдХрд┐рд░рдгреЛрдВ рдХреА рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрд╣ рдПрдХ рд╕рд░рд▓ рдХреЛрд░ рд╣реИ рдЬреЛ рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрд┐рд░рдгреЛрдВ рдХреЗ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдФрд░ рджрд┐рд╢рд╛рдПрдВ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рдЪрд░рдг рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рдмрдбрд╝реА рдХрд┐рд░рдг рдмрдлрд░ рдФрд░ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рд╣реИ рдЬреЛ рдХрд┐рд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдЧрд▓реЗ рдЪрд░рдг рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреНрд░рд╛рдердорд┐рдХ рдХрд┐рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдорд╛рди
рд╕реНрдХреНрд░реАрди рдХреА
рдКрдВрдЪрд╛рдИ рд╕реНрдХреНрд░реАрди рдХреА
рдЪреМрдбрд╝рд╛рдИ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред
рд╕реНрдЯреЗрдЬ 2 ("рдирд╡реАрдиреАрдХреГрдд") рджреВрд╕рд░рд╛ рдореБрдЦреНрдп рд╣реИред рд╕рднреА рдкрд┐рдХреНрд╕рд▓ рдХреЗ рд▓рд┐рдП рдЪрд░рдг 1 рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд░реНрдиреЗрд▓ рдЪрд░рдг 1 рдореЗрдВ рдЙрддреНрдкрдиреНрди рдмрдлрд░ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХрд┐рд░рдг рдХреЛ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЪрд░рдг рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдмрдлрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рддреНрдпреЗрдХ рдХрд┐рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдкрд░рд┐рдгрд╛рдо рд╣реИред
рд╕реНрдЯреЗрдЬ 3 ("рд╢реИрдбреЛ") рдЪрд░рдг 2 рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЪрд░рдг 2 рд╕реЗ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрде рдХреЗ рд▓рд┐рдП рдЫрд╛рдпрд╛рдВрдХрди рдореЙрдбрд▓ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдСрдкрд░реЗрд╢рди рдирдИ рдХрд┐рд░рдгреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдкрде рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдкрде рдЬреЛ рдирдИ рдХрд┐рд░рдг рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ (рдкрде "рдлреИрд▓реА рд╣реБрдИ") рдмрдлрд░ рдХреЛ рдирдИ рдХрд┐рд░рдг ("рдкрде рдЦрдВрдб") рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╕реАрдзреЗ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрддреЛрдВ ("рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирдореВрдирд╛ рдкреНрд░рдХрд╛рд╢ рд╡реНрдпрд╡рд╕реНрдерд╛" рдпрд╛ "рдЕрдЧрд▓реА рдШрдЯрдирд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ") рдХреЗ рдкрде рдПрдХ рджреВрд╕рд░реЗ рдмрдлрд░ рдХреЛ рдЫрд╛рдпрд╛ рдмреАрдо рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рд╕реНрдЯреЗрдЬ 4 ("рдХрдиреЗрдХреНрдЯ") рдЪрд░рдг 3 рдореЗрдВ рдЙрддреНрдкрдиреНрди рдЫрд╛рдпрд╛ рдХрд┐рд░рдгреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИред рдпрд╣ рдЪрд░рдг 2 рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде: рдЫрд╛рдпрд╛ рдХреА рдХрд┐рд░рдгреЛрдВ рдХреЛ
рдХрд┐рд╕реА рднреА рдЪреМрд░рд╛рд╣реЗ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрдмрдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рд░рдгреЛрдВ рдХреЛ рдирд┐рдХрдЯрддрдо рдЪреМрд░рд╛рд╣реЗ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдХреЛрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЪрд░рдг 4 рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдПрдХ рдмрдлрд░ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд┐рд░рдгреЗрдВ рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рдкрде рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреА рд╣реИрдВред рдЗрди рдХрд┐рд░рдгреЛрдВ рдХреЛ рд▓реЗрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЪрд░рдг 2 рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕реЗ рддрдм рддрдХ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рд░рдгреЗрдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ рдпрд╛ рдЬрдм рддрдХ рд╣рдо рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддреЗ рд╣реИрдВред
рдЕрдХреНрд╖рдорддрд╛ рдХреЗ рд╕реНрд░реЛрдд
рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкрде рдЕрдиреБрд░реЗрдЦрдг рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдРрд╕реА рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЦрддрд░рдирд╛рдХ рдХреНрд╖рдг рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ:
- рдПрдХрд▓ рдХрд░реНрдиреЗрд▓ рдХреЙрд▓ рдХреЗ рдмрдЬрд╛рдп, рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдХреЙрд▓ рддреАрди рдХреЙрд▓ рд╣реИрдВ , рд╕рд╛рде рд╣реА рдПрдХ рдкреАрдврд╝реА рдХрд░реНрдиреЗрд▓ред рдЪреБрдиреМрддреАрдкреВрд░реНрдг рдХреЛрд░ рдХрд╛ рдорддрд▓рдм рд▓реЛрдб рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡реГрджреНрдзрд┐ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЦрд░рд╛рдм рд╣реИред
- рдкреНрд░рддреНрдпреЗрдХ рдХреЛрд░ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдмрдлрд░ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдмрдлрд░ рд▓рд┐рдЦрддрд╛ рд╣реИред
- CPU рдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рдереНрд░реЗрдб рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП GPU рдХреЛ CPU рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЪрд░рдг 3 рдореЗрдВ рдХрд┐рддрдиреА рдХрд┐рд░рдгреЗрдВ рдЙрддреНрдкрдиреНрди рд╣реБрдИрдВред GPU рд╕реЗ CPU рдкрд░ рдЬрд╛рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдкреНрд░рддрд┐ рдмрд╛рд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рд╣рд░ рдЬрдЧрд╣ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдмрдирд╛рдП рдмрд┐рдирд╛ рдЪрд░рдг 3 рдмрдлрд░ рдХреЛ рдХрд┐рд░рдгреЗрдВ рдХреИрд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИ? рд╡рд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░рдорд╛рдгреБ рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?
- рд╕рдХреНрд░рд┐рдп рд░рд╛рд╕реНрддреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрднреА рднреА рдХрдо рд╣реЛ рд░рд╣реА рд╣реИ, рддреЛ рдпрд╣ рдпреЛрдЬрдирд╛ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИ?
рдЪрд▓рд┐рдП рдЖрдЦрд┐рд░реА рд╕рд╡рд╛рд▓ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ: рдпрджрд┐ рд╣рдо рдПрдХ рдорд┐рд▓рд┐рдпрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ GPU рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдорд┐рд▓рд┐рдпрди рдереНрд░реЗрдб рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдПрдХ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдзрд╛рдЧреЗ рдХреА рд╕рд╣реА рд╕рдВрдЦреНрдпрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рджрд╕рд┐рдпреЛрдВ рд╣рдЬрд╛рд░реЛрдВ рдзрд╛рдЧреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЬрдм рд▓реЛрдб рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддрднреА рд╣рдо рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд░реЛрдЬрдЧрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдВрдЧреЗред
рдПрдХ рдФрд░ рдЪрд┐рдВрддрд╛ рдмрдлрд╝рд░реНрд╕ рдХреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ I / O рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдХрдард┐рдирд╛рдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрддрдиреА рдЧрдВрднреАрд░ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдиреА рдЖрдк рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдмрдлрд╝рд░реНрд╕ рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рджреЗрд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЬреАрдкреАрдпреВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рдереЗред
рдПрдХ рдФрд░ рдкрд╣рд▓реВ рдЬреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреАрдкреАрдпреВ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ рдкрд░рдорд╛рдгреБ рдХрд╛рдЙрдВрдЯрд░, рдЬреЛ рд╕реАрдкреАрдпреВ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИред Z- рдмрдлрд░ рдХреЛ рддреНрд╡рд░рд┐рдд рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдзреБрдирд┐рдХ рдЬреАрдкреАрдпреВ рдореЗрдВ рдкрд░рдорд╛рдгреБ рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмреЗрд╣рдж рдкреНрд░рднрд╛рд╡реА рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдПрдХ рдкрд░рдорд╛рдгреБ рд▓реЗрдЦрди рдСрдкрд░реЗрд╢рди рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдореГрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдирдЫреБрдП рд▓реЗрдЦрди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╣рдВрдЧрд╛ рд╣реИред рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рджреЗрд░реА рдХреЛ GPU рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рджреНрд╡рд╛рд░рд╛ рдорд╛рд╕реНрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рджреЛ рдкреНрд░рд╢реНрди рдмрдиреЗ рд╣реБрдП рд╣реИрдВ: рдЧрд┐рд░реА рдХреЙрд▓ рдФрд░ рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рджреЛ-рддрд░рдлрд╝рд╛ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдгред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рдФрд░ рд╡рд╛рд╕реНрддреБ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рд▓рдЧрд╛рддрд╛рд░ рдзрд╛рдЧреЗ ред
рдкрд░рд┐рдгрд╛рдо
рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рджреЗрд░реА рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╡реЗрд╡рдлреНрд░рдВрдЯ рдкрд╛рде рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдирд┐рд╣рд┐рддрд╛рд░реНрде рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред рдкрд╣рд▓реЗ, рд╣рдо рдмрдлрд╝рд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдЪрд░рдг 1 рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдлрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдкреНрд░рд╛рдердорд┐рдХ рдХрд┐рд░рдгреЗрдВред рдкреНрд░рддреНрдпреЗрдХ рдмреАрдо рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП:
- рд░реЗ рдЙрддреНрдкрддреНрддрд┐: рддреАрди рдлреНрд▓реЛрдЯ рдорд╛рди, рдпрд╛рдиреА 12 рдмрд╛рдЗрдЯреНрд╕
- рд░реЗ рджрд┐рд╢рд╛: рддреАрди рдлреНрд▓реЛрдЯ рдорд╛рди, рдпрд╛рдиреА 12 рдмрд╛рдЗрдЯреНрд╕
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдмрдлрд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред рдпрджрд┐ рдЖрдк рдмреАрдо рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рджрд┐рд╢рд╛ рдХреЗ рд▓рд┐рдП 16 рдмрд╛рдЗрдЯреНрд╕ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬреАрдкреАрдпреВ рдЙрдиреНрд╣реЗрдВ 128-рдмрд┐рдЯ рд░реАрдб рдСрдкрд░реЗрд╢рди рдореЗрдВ рдкрдврд╝ рд╕рдХреЗрдЧрд╛ред рдПрдХ рд╡рд┐рдХрд▓реНрдк 64-рдмрд┐рдЯ рд░реАрдб рдСрдкрд░реЗрд╢рди рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдлреНрд▓реЛрдЯ 3 рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 32-рдмрд┐рдЯ рдСрдкрд░реЗрд╢рди рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд▓рдЧрднрдЧ рджреЛрдЧреБрдирд╛ рд╣реИред рдпрд╣реА рд╣реИ, 1920 ├Ч 1080 рдХреА рдПрдХ рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ: 1920x1080x32 = ~ 64 рдПрдордмреАред рд╣рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрдб рдХрд░реНрдиреЗрд▓ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдЪреМрд░рд╛рд╣реЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдлрд░ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рддрд┐ рддрддреНрд╡ рдПрдХ рдФрд░ 128 рдмрд┐рдЯреНрд╕ рд╣реИ, рдЬреЛ рдХрд┐ 32 рдПрдордмреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, "рд╢реИрдбреЛ" рдХрд░реНрдиреЗрд▓ 1920 ├Ч 1080 рдкрде рдПрдХреНрд╕рдЯреЗрдВрд╢рди (рдКрдкрд░реА рд╕реАрдорд╛) рддрдХ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЙрд╕ рдмрдлрд░ рдкрд░ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдкрдврд╝рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдФрд░ 64 рдПрдордмреА рд╣реИред рдФрд░ рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рд╣рдорд╛рд░рд╛ рдкрде рдЕрдиреБрдЪрд░ рдЫрд╛рдпрд╛ рдХрд┐рд░рдгреЛрдВ рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдФрд░ 64 рдПрдордмреА рдмрдлрд░ рд╣реИред рд╕рдм рдХреБрдЫ рд╕рдореЗрдЯрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ 224 рдПрдордмреА рдбреЗрдЯрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рд╡реЗрд╡рдлреНрд░рдВрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╛ 4K рд░реЗрдЬреЛрд▓реНрдпреВрд╢рди рдореЗрдВ рд▓рдЧрднрдЧ 1 рдЬреАрдмреАред
рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реА рдореЗрдореЛрд░реА рд╣реИред рдпрд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рд╡рд╣ 1 рдЬреАрдмреА рдПрдХ рдмрд╣реБрдд рд╣реИ, рдФрд░ рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЗрд╕ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рддрдм рддрдХ рд╣рдореЗрдВ 4K рдореЗрдВ рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, 8 рдЬреАрдмреА рдХреЗ рд╕рд╛рде GPU рдкрд░ 1 рдЬреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрдо рд╣реЛрдЧрд╛ред
рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рд░реЗрдВрдбрд░рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рд╣реЛрдВрдЧреЗред рдЕрдм рддрдХ рдореИрдВрдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╢реИрдбреЛ рдХреЛрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд┐рд░рдг рдФрд░, рд╕рдВрднрд╡рддрдГ, рдПрдХ рд╢реИрдбреЛ рд░реЗ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рддрд┐ 16 рдХрд┐рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкрд░рд┐рд╡реЗрд╢ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? 16 рдПрдУ рдХрд┐рд░рдгреЛрдВ рдХреЛ рдмрдлрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рд╡реЗ рдХреЗрд╡рд▓ рдЕрдЧрд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рддрдм рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ рдЬрдм Witted рд╢реИрд▓реА рдореЗрдВ рдХрд┐рд░рдгреЛрдВ рдХреЛ рдЯреНрд░реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдХрдИ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрд╛рдпрд╛ рдХрд┐рд░рдг рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░рдирд╛ рдпрд╛ рдХрд╛рдВрдЪ рдХреЗ рд╕рд╛рде рдЯрдХрд░рд╛рд╡ рдореЗрдВ рдмреАрдо рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИред
рджреВрд╕рд░реА рдУрд░, рд╡реЗрд╡рдлреНрд░рдВрдЯ рдкрд╛рде рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреА рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдСрдХреНрдпреВрдкреЗрдВрд╕реА рд╕реЗрдХреНрд╢рди рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рд╣реИ:
- рдЪрд░рдг 1 рдореЗрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рднреА рдкреНрд░рд╡рд╛рд╣ рдкреНрд░рд╛рдердорд┐рдХ рдХрд┐рд░рдгреЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдлрд░ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
- рдЪрд░рдг 2 рдореЗрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд╕рднреА рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдХрд┐рд░рдгреЛрдВ рдХреЛ рдХрд╛рдЯрддреЗ рд╣реИрдВ рдФрд░ рдмрдлрд░ рдХреЛ рдЪреМрд░рд╛рд╣реЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВред
- рдЪрд░рдг 3 рдореЗрдВ, рд╣рдо 100% рдЕрдзрд┐рднреЛрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
- рдЪрд░рдг 4 рдореЗрдВ, рд╣рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдЫрд╛рдпрд╛ рдХрд┐рд░рдгреЛрдВ рдХреА рдПрдХ рдирд┐рд░рдВрддрд░ рд╕реВрдЪреА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВред
рдЬрдм рддрдХ рд╣рдо 2 рдЦрдВрдбреЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдЬреАрд╡рд┐рдд рдХрд┐рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд░рдг 2 рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ, рддрдм рддрдХ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдлрд┐рд░ рд╕реЗ рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдХрд┐рд░рдг рдмрдлрд░ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд░реНрдиреЗрд▓ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдкреВрд░реНрдг рд░реЛрдЬрдЧрд╛рд░ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдн рд╣реИ рдЬрд┐рд╕реЗ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХрд╛ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреЛрдб рдХреЛ рдЪрд╛рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХреЛрд░ рд╕рднреА рдЙрдкрд▓рдмреНрдз GPU рд╕рдВрд╕рд╛рдзрдиреЛрдВ (рдХреИрд╢, рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА, рд░рдЬрд┐рд╕реНрдЯрд░) рдХреЛ рдЕрдиреНрдп рдХреЛрд░ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗ рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ GPU рдХреЛ рдЪреМрд░рд╛рд╣реЗ рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдХреЛрдб рдХреЛ shader рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХ рдзрд╛рдЧреЗ, рдмреЗрд╣рддрд░ рдЖрдк рджреЗрд░реА рдХреЛ рдЫрд┐рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ, рдмреЗрд╣рддрд░ рджреЗрд░реА рдорд╛рд╕реНрдХрд┐рдВрдЧ, рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ: рдпреЗ рд╕рднреА рд▓рд╛рдн рд╕реАрдзреЗ GPU рдордВрдЪ рдХреЗ рдЙрджреНрднрд╡ рдФрд░ рдкреНрд░рдХреГрддрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред GPU рдХреЗ рд▓рд┐рдП, рд╡реЗрд╡рдлреНрд░рдВрдЯ рдкрд╛рде рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмрд╣реБрдд рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИред
рдХреНрдпрд╛ рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ?
рдмреЗрд╢рдХ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИ: рдХреНрдпрд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рд░реЛрдЬрдЧрд╛рд░ рдмрдлрд╝рд░реНрд╕ рд╕реЗ I / O рдХреЛ рдФрдЪрд┐рддреНрдп рджреЗрддрд╛ рд╣реИ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд?
рдЬрд╡рд╛рдм рд╣рд╛рдБ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рд╣рдо рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП ShaderToy рдХреЗ рд╕рд╛рде рдкрде рдХреЗ рдЯреНрд░реЗрд╕рд░ рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдХ рд╕рд░рд▓ рдФрд░ рд╣рд╛рд░реНрдб-рдХреЛрдбреАрди рджреГрд╢реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдкреВрд░реНрдг-рд╡рд┐рдХрд╕рд┐рдд рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдХреЛрдИ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ: рд▓рд╛рдЦреЛрдВ рдкреНрд░рд╛рдЗрдорд░реА рдХреЗ рд▓рд┐рдП, рдмреАрдо рдХреЛ рдХрд╛рдЯрдирд╛ рдФрд░ рджреГрд╢реНрдп рдПрдХ рдЬрдЯрд┐рд▓ рд╕рдорд╕реНрдпрд╛ рдмрди рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЕрдХреНрд╕рд░ рдПрдирд╡реАрдбрд┐рдпрд╛ (
рдСрдкреНрдЯрд┐рдХреНрд╕ ), рдПрдПрдордбреА (
Radeon-Rays ) рдпрд╛ Intel (
рдПрдореНрдмреНрд░реА ) рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА CUDA рдХреГрддреНрд░рд┐рдо рдХрд┐рд░рдг рдЕрдиреБрд░реЗрдЦрдХ рдореЗрдВ рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб рджреГрд╢реНрдп рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИред CUDA рдореЗрдВ, рдирд┐рдХрдЯрддрдо рдПрдирд╛рд▓реЙрдЧ (Optix) рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕реАрдкреАрдпреВ рдореЗрдВ рдЖрд▓рд┐рдВрдЧрди рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреЛрдб рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмреАрдо рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рд▓рд╛рдЧрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдУрд╡рд░рд╣реЗрдб рд╣реИ: рд╡рд╣ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмреАрдо рдХреЗ рдмрдЬрд╛рдп рдмреАрдо рдХреЗ рдмрдбрд╝реЗ рд╕рдореВрд╣реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИред

рдмреНрд░рд┐рдЧреЗрдб 1 рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕рдордп рд╕реЗ рд╕реНрдХреНрд░реАрдиредрдХреНрдпрд╛ рд╡реЗрд╡рдлреНрд░рдВрдЯ рдкрд╛рде рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдЗрд╕рдХреЗ рд╡рд┐рдХрд▓реНрдк рд╕реЗ рдЕрдзрд┐рдХ рддреЗрдЬ рд╣реЛрдЧреА (рдореЗрдЧрд╛рдмрд░реНрди, рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрди рдФрд░ рд╕рд╣рдХрд░реНрдореА рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ) рдХреЛрд░ рдореЗрдВ рдмрд┐рддрд╛рдП рдЧрдП рд╕рдордп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рдмрдбрд╝реЗ рджреГрд╢реНрдпреЛрдВ рдФрд░ рд╡реЗрд╡рдлреНрд░рдВрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рджреНрд╡рд╛рд░рд╛ рдорд╣рдВрдЧрд╛ рд▓рд╛рдЧрдд рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ), рдЕрдзрд┐рдХрддрдо рдкрде рд▓рдВрдмрд╛рдИ рдкрд░ред , рдореЗрдЧрд╛-рдХреЛрд░ рд░реЛрдЬрдЧрд╛рд░ рдФрд░ рдЪрд╛рд░ рдЪрд░рдгреЛрдВ рдореЗрдВ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдкрд░ рд▓реЛрдб рдореЗрдВ рдЕрдВрддрд░ред рдореВрд▓
рдмреНрд░рд┐рдЧреЗрдб рдкрде рдЕрдиреБрд░реЗрдЦрдХ рдХреЗ рд╢реБрд░реБрдЖрддреА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ
, рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ GTX480 рдкрд░ рдЪрд▓ рд░рд╣реЗ рдЪрд┐рдВрддрдирд╢реАрд▓ рдФрд░ рд▓реИрдореНрдмрд░реНрдЯ рд╕рддрд╣реЛрдВ рдХреЗ рдорд┐рд╢реНрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рджреГрд╢реНрдп рднреА рддрд░рдВрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реБрдЖред
рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкрде рдкреНрд░рдХрд╛рд╢рд╕реНрддрдВрдн 2 рдореЗрдВ
рд▓рд╛рдЗрдЯрд╣рд╛рдЙрд╕ 2 рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рджреЛ рд╡реЗрд╡рдлреНрд░рдВрдЯ рдкрд╛рде рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдЯреНрд░реИрд╕рд░ рд╣реИрдВред рдкрд╣рд▓рд╛ рдЪрд░рдг 2 рдФрд░ 4 (рдХрд┐рд░рдгреЛрдВ рдФрд░ рджреГрд╢реНрдпреЛрдВ рдХреЗ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдХреЗ рдЪрд░рдгреЛрдВ) рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдСрдкреНрдЯрд┐рдХреНрд╕ рдкреНрд░рд╛рдЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ; рджреВрд╕рд░реЗ рдореЗрдВ, Optix рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдзреЗ рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдСрдкреНрдЯрд┐рдХреНрд╕ рдкреНрд░рд╛рдЗрдо рдСрдкреНрдЯрд┐рдХреНрд╕ рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдореБрд╕реНрдХрд░рд╛рддреЗ рд╣реБрдП рд╕реЗрдЯ рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдХреЗ рд╕рд╛рде рдПрдХ рджреГрд╢реНрдп рд╕реЗ рдорд┐рд▓рдХрд░ рддреНрд░рд┐рдХреЛрдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдкреВрд░реНрдг Optix рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рдХрд╕реНрдЯрдо рдЪреМрд░рд╛рд╣реЗ рдХреЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдЪреМрд░рд╛рд╣реЛрдВ рддреНрд░рд┐рдХреЛрдгред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рддрд░рдВрдЧ рдорд╛рд░реНрдЧ рдХреЗ рдЯреНрд░реИрд╕рд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдСрдкреНрдЯрд┐рдХреНрд╕ рдкреНрд░рд╛рдЗрдо рдмреЗрд╕реНрдб
rendercore.cpp
рдкрд╛рде рдЯреНрд░реЗрд╕рд░
rendercore.cpp
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Optix Prime рдХрд╛
rtpContextCreate
Init
рдлрдВрдХреНрд╢рди рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░
rtpContextCreate
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рджреГрд╢реНрдп
rtpModelCreate
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛
rtpModelCreate
ред
SetTarget
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
rtpBufferDescCreate
рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдХрд┐рд░рдг рдмрдлрд╝рд░реНрд╕ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрди рдмрдлрд╝рд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ: рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдСрдкреНрдЯрд┐рдХреНрд╕ рдФрд░ рдирд┐рдпрдорд┐рдд CUDE рдХреЛрд░ рджреЛрдиреЛрдВ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐ рдореЗрдВ рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рд╛рдердорд┐рдХ рдХрд┐рд░рдг рдмрдлрд░ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ CUDA рдХреЛрд░, рдЬрд┐рд╕реЗ GenerEyeRays рдХрд╣рд╛ рдЬрд╛рддрд╛
generateEyeRays
ред рдмрдлрд░ рднрд░рдиреЗ рдХреЗ рдмрд╛рдж, Optix Prime рдХреЛ
rtpQueryExecute
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде, рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдкрд░рд┐рдгрд╛рдо
extensionHitBuffer
рдХреЛ рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рднреА рдмрдлрд╝рд░ GPU рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ: рдХрд░реНрдиреЗрд▓ рдХреЙрд▓ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, CPU рдФрд░ GPU рдХреЗ рдмреАрдЪ рдХреЛрдИ рдЯреНрд░реИрдлрд╝рд┐рдХ рдирд╣реАрдВ рд╣реИред "рдЫрд╛рдпрд╛" рдЪрд░рдг рдирд┐рдпрдорд┐рдд CUDA
shade
рдХреЛрд░ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
pathtracer.cu
ред
optixprime_b
рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдзреНрдпрд╛рди рджреЗрдиреЗ
optixprime_b
рд╣реИрдВред рдкрд╣рд▓реЗ, рд╡реЗрд╡рдлреНрд░рдВрдЯ рдЪрдХреНрд░ рдХреЗ рдмрд╛рд╣рд░ рдЫрд╛рдпрд╛ рдХрд┐рд░рдгреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рд╣реА рд╣реИ: рдПрдХ рдЫрд╛рдпрд╛ рдХрд┐рд░рдг рдХреЗрд╡рд▓ рдПрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ рдпрджрд┐ рдпрд╣ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╣реАрдВ рдФрд░ рдирд╣реАрдВ рд╣реИред рдпрд╣реА рд╣реИ, рдЫрд╛рдпрд╛ рдмреАрдо
рдбрд┐рд╕реНрдкреЛрдЬреЗрдмрд▓ рд╣реИ , рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдордп рдФрд░ рдХрд┐рд╕реА рднреА рдХреНрд░рдо рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЫрд╛рдпрд╛ рдХреА рдХрд┐рд░рдгреЛрдВ рдХреЛ рд╕рдореВрд╣рд┐рдд рдХрд░рдХреЗ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЕрдВрдд рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рдмреИрдЪ рдпрдерд╛рд╕рдВрднрд╡ рдмрдбрд╝рд╛ рд╣реЛред рдЗрд╕рдХрд╛ рдПрдХ рдЕрдкреНрд░рд┐рдп рдкрд░рд┐рдгрд╛рдо рд╣реИ: рд╡реЗрд╡рдлреНрд░рдВрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░
рдПрдХреНрд╕ рдкреНрд░рд╛рдердорд┐рдХ рдХрд┐рд░рдгреЛрдВ рдХреЗ
рдПрди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдЫрд╛рдпрд╛ рдХрд┐рд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдКрдкрд░реА рд╕реАрдорд╛
рдПрдХреНрд╕рдПрди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред
рдПрдХ рдЕрдиреНрдп рд╡рд┐рд╡рд░рдг рд╡рд┐рднрд┐рдиреНрди рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╣реИред "рдирд╡реАрдиреАрдХреГрдд" рдФрд░ "рдЫрд╛рдпрд╛" рдЪрд░рдгреЛрдВ рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд┐рддрдиреЗ рдкрде рд╕рдХреНрд░рд┐рдп рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреЛ рдЬреАрдкреАрдпреВ (рдПрдЯреЛрдорд┐рдХрд▓реА) рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╡реЗ рд╕реАрдкреАрдпреВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реАрдкреАрдпреВ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрдП рдмрд┐рдирд╛ рднреАред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрд┐рд╕реА рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИ: рдСрдкреНрдЯрд┐рдХреНрд╕ рдкреНрд░рд╛рдЗрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХрд┐рд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд┐рддрдиреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рдмрд╛рд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдмрд╛рдж рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдпрд╣ рдЖрд▓реЗрдЦ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реЗрд╡рдлреНрд░рдВрдЯ рдкрд╛рде рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХреНрдпрд╛ рд╣реИ рдФрд░ GPU рдкрд░ рдкрде рдЕрдиреБрд░реЗрдЦрдг рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд╛рдЗрдЯрд╣рд╛рдЙрд╕ 2 рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИ рдФрд░
рдЬреАрдердм рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ ред