CUDA рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ рдЕрдиреБрдХреВрд▓рди рдЙрджрд╛рд╣рд░рдг

рдкрд░рд┐рдЪрдп


рдореИрдВ рдкреНрд▓рд╛рдЬреНрдорд╛ рдореЙрдбрд▓рд┐рдВрдЧ рдореЗрдВ CUDA рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЕрдиреБрдХреВрд▓рди рддрдХрдиреАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВред рдЧрдгрдирд╛ CUDA (JCUDA) [1] рдХреЛ GT630 (рдХреЗрдкреНрд▓рд░) рдкрд░ рдЬрд╛рд╡рд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЙрдбрд▓рд┐рдВрдЧ рдХреЙрдЪреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ - рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдордп рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рд╕реЗрдЯ рдХрд░рдирд╛, рдлрд┐рд░ рд╕рдордп рдмрдврд╝рд╛рдирд╛ рдФрд░ рд╕рднреА рд╕рдореАрдХрд░рдгреЛрдВ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ рдХрд░рдирд╛, рдЖрджрд┐ред рдмрд╛рд░-рдмрд╛рд░ред рдЧрдгрдирд╛ рджреЛрд╣рд░реА рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рд╣реЛрддреА рд╣реИред рдЬреЗрд╕реАрдпреВрдбреАрдП рдХреЗ рдмрд┐рдирд╛ рд╕реАрдкреАрдпреВ рдкрд░ рдЧрдгрдирд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рдЬрд╛рддреА рд╣реИред

рдПрдХ рдкреНрд▓рд╛рдЬреНрдорд╛ рдореЗрдВ рд▓реИрдВрдЧрдореБрдЗрд░ рддрд░рдВрдЧреЛрдВ рдХреЗ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдЕрд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдореЙрдбрд▓ рдореЗрдВ рдЖрдпрд╛рдо, рдЪрд░рдг, рдЖрдпрди рдШрдирддреНрд╡, рд╡рд┐рджреНрдпреБрдд рдХреНрд╖реЗрддреНрд░ рдХреА рддрд╛рдХрдд (рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 400 рд╣реИ), рдЖрдпрдиреЛрдВ рдХреА рдЧрддрд┐ рдХреЗ рд╕рдореАрдХрд░рдг, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдВрдЦреНрдпрд╛ 20,000 рдФрд░ рджреЛ рдкрдВрдк рд╕рдореАрдХрд░рдг рд╣реИрдВред рдлрдВрдХреНрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдХреНрдпреВрдмреЗрд▓ рдЖрджрд┐) рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, GPU рдкрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдореАрдХрд░рдгреЛрдВ рдХрд╛ рдХреЛрдб рд╣рд╛рде рдореЗрдВ рдПрдХ .cu рдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

1 CUDA рдкрд░ рдЧрдгрдирд╛ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдореБрдЦреНрдп рддрд░реАрдХреЛрдВ рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ


1.1ред GPU рдФрд░ RAM рдХреА рдореЗрдореЛрд░реА рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЛ рдХрдо рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рднрд▓реЗ рд╣реА рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ GPU рдкрд░ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдЪрд▓ рд░рд╣реЗ рд╣реЛрдВ рдЬреЛ CPU [2] рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреНрд╡рд░рдг рдирд╣реАрдВ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, GPU рдкрд░ рдкрдВрдк рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЧрдгрдирд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рд╡реЗ рдХреЗрд╡рд▓ рджреЛ рд╕рдореАрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред рд╕реАрдкреАрдпреВ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдХрдореНрдкреНрдпреВрдЯ рдХрд░рдирд╛ рддреЗрдЬ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред

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

1.3ред рдкрдВрдкрд┐рдВрдЧ рдХреА рдЧрдгрдирд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рдЧрдгрдирд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╣реЛрддреА рд╣реИ (рдПрдХ рд╕рдореАрдХрд░рдг рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдзрд╛рд░рд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ)ред рдЧреНрд░рд┐рдб рдФрд░ рдмреНрд▓реЙрдХ рдХреЗ рдЖрдпрд╛рдо рдЪреБрдиреЗ рдЧрдП рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдЧрдгрдирд╛ рдХреА рдЧрддрд┐ рдЕрдзрд┐рдХрддрдо рд╣реИред рдмреНрд▓реЙрдХ рдЖрдпрд╛рдо (рдмреНрд▓реЙрдХ рдореЗрдВ рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛) рдЫреЛрдЯреЗ рдФрд░ рдмрдбрд╝реЗ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдХ рдЬреАрдкреАрдпреВ рдореЗрдВ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рдЧрднрдЧ рдмрд░рд╛рдмрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП (рдПрдХ рдЬреАрдкреАрдпреВ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 500 рдХреЛрд░ рддрдХ)ред

1.4ред GPU рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди GPU рдореЗрдВ рддреЗрдЬ рдкреНрд░рдХрд╛рд░ рдХреА рдореЗрдореЛрд░реА рд╣реЛрддреА рд╣реИ - рд╕рд╛рдЭрд╛ рдФрд░ рдирд┐рд░рдВрддрд░ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдиреЗ рдХреЗрд╡рд▓ 1% рдХрд╛ рдкреНрд░рднрд╛рд╡ рджрд┐рдпрд╛ред

1.5ред рдХреЛрдб рдореЗрдВ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░, рдПрдХ рд╣реА рдЧрдгрдирд╛ рдХрдИ рдмрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ * b * рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдЪрд░ c = a * b рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рддрдм рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣, рдХрдИ рдЕрдиреБрдХреВрд▓рди рдХрд┐рдП рдЧрдП, рд▓реЗрдХрд┐рди рдЙрдирдХрд╛ рдкреНрд░рднрд╛рд╡ 1% рд╣реИред

2 рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдЕрдиреБрдХреВрд▓рди


рдЬреАрдкреАрдпреВ рдкрд░ рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп, 85% рд╕рдордп рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

2.1ред рд╕рд┐рдирдкреА, рдХреЛрд╕реНрдкреА рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЙрдбрд▓ рдореЗрдВ рдХреЗрд╡рд▓ 4 рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рдЙрдкрдпреБрдХреНрдд рд░реВрдк рд╣реИ, рдФрд░ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдкреНрд░рднрд╛рд╡ 2% рд╣реИред

2.2ред рдПрдХ рд╕рд╛рдЗрдирд╕ рдлрд╝рдВрдХреНрд╢рди рднреА рд╣реИ рдЬреЛ рдПрдХ рд╕рд╛рде рд╕рд╛рдЗрди рдФрд░ рдХреЛрд╕рд╛рдЗрди рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдкреНрд░рднрд╛рд╡ 50% рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рджреЛрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдФрд░ рдХреЛрд╕рд╛рдЗрди рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИред

2.3ред рд╕рдордп рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖рдг (рдпрд╛рдиреА, рдорд╛рдиреЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ) рдореЗрдВ рд╕рд╛рдЗрди рдФрд░ рдХреЛрдЬрд╛рдЗрди рдХреА рдкреВрд░реНрд╡ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдлрд┐рд░ рд╕рдореАрдХрд░рдгреЛрдВ рдореЗрдВ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдПрдХ рдЪреМрдерд╛рдИ рдореЗрдВ рд╕рдорд╛рди рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рдХрд╛рд░реНрдп рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ 5% рддрдХ рдкреНрд░рднрд╛рд╡ рджреЗрддрд╛ рд╣реИред

2.4ред CUDA рдореЗрдВ, рд╣рд░ рдЪрдЯрд╛рдИред рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ рдЬреЛ рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рднрд┐рдиреНрди рд╣реИрдВ - рдбрдмрд▓-рдлрд╝рдВрдХреНрд╢рдВрд╕ (рдкрд╛рдк, рдХреЙрд╕), рдлреНрд▓реЛрдЯ-рдлрд╝рдВрдХреНрд╢рдВрд╕ (sinf, cosf), рдХрдо-рд╕рдЯреАрдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ (__sinf, __cosf)ред рддреЛ, рд╕рд╛рдЗрди рдФрд░ рдХреЛрд╕рд╛рдЗрди рдХреЗ рдлреНрд▓реЛрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЛ рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рдЧрдгрдирд╛ 60% рдФрд░ рдЧрддрд┐ рдФрд░ рдХрдо рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рдЗрди рдФрд░ рдХреЙрдЬрд╝рд╛рдЗрди рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - 70% рддрдХред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдиреНрдп рдЧрдгрдирд╛ рджреЛрд╣рд░реЗ рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕рдЯреАрдХрддрд╛ рдмрдирд╛рдП рд░рдЦреА рдЬрд╛рддреА рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ GPU рдкрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рд╕рдордп 20 рдорд┐рдирдЯ рдерд╛ред рдЕрдиреБрдЪреНрдЫреЗрдж 1.1, 1.2, 1.3 рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рд┐рдореБрд▓реЗрд╢рди рд╕рдордп рдХреЛ рдорд╛рдкрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрди рдЕрдиреБрдЪреНрдЫреЗрджреЛрдВ рдХреЗ рдкреНрд░рд╛рд╡рдзрд╛рдиреЛрдВ рдХреЛ рд╢реБрд░реВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рдж рд╕рд┐рдореБрд▓реЗрд╢рди рдХрд╛ рд╕рдордп 7 рдорд┐рдирдЯ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ 90% GPU рдЧрдгрдирд╛ (CUDA) рд╣реИрдВ, 10% рдмрдЪрдд рдкрд░рд┐рдгрд╛рдореЛрдВ (рдЬрд╛рд╡рд╛) рд╕реЗ рдЬреБрдбрд╝реЗ рд╕реАрдкреАрдпреВ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЧрдгрдирд╛рдПрдВ рд╣реИрдВ, GPU рдореЗрдореЛрд░реА рдФрд░ рд░реИрдо рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп 0.01% рд╣реИред

рд╕рдлрд▓ рддрд░реАрдХреЛрдВ - 1.1, 1.2, 1.3, 2.4 - рдЬреАрдкреАрдпреВ рдореЗрдореЛрд░реА рдФрд░ рд░реИрдо рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореБрдЦреНрдп рдЧрдгрдирд╛рдУрдВ рдХреЛ рдЬреАрдкреАрдпреВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╖реНрдЯрддрдо рд╕рдорд╛рдирд╛рдВрддрд░рдХрд░рдг рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЧреНрд░рд┐рдб рдФрд░ рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рдЖрдХрд╛рд░, рдХрдо рд╕рдЯреАрдХрддрд╛ рдХреЗ рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдХрдо рджрдХреНрд╖рддрд╛ рдпрд╛ рдХреЛрдб рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдХрд╛рд░рдг рдЬрд┐рди рддрд░реАрдХреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ - 1.4, 1.5, 2.1, 2.2, 2.3 - рдЧрдгрдирд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпреЛрдВ рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЧрдгрдирд╛, рддреЗрдЬреА рд╕реЗ рдЬреАрдкреАрдпреВ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ред

рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдирдХрд▓реА рд╕рдорд╕реНрдпрд╛ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдзреНрдпрдпрди рдиреЗ рдХрдИ рд╕реМ рдмрд╛рд░ рдЕрдиреБрдХрд░рдг рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдХрднреА-рдХрднреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдгреЛрдВ рдХреЗ рд╕рд╛рде (2 рдХреЗ рдХрд╛рд░рдХ рджреНрд╡рд╛рд░рд╛ рдХрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╕реЗ рд╕рд┐рдореБрд▓реЗрд╢рди рд╕рдордп 4 рдЧреБрдирд╛ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП, рдПрдХ рд╕рд┐рдореБрд▓реЗрд╢рди рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рдмрдЪрдд рдЕрдВрдд рдореЗрдВ рдПрдХ рдмрдбрд╝реА рдмрдЪрдд рджреЗрддреА рд╣реИред рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛рд░реНрдб рдкрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрд╡рд╕рд░ рдирд╣реАрдВ рд╣реИред рддреБрд▓рдирд╛ рдмрд╣реБрдд рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди 2.2 рдЧреАрдЧрд╛рд╣рд░реНрдЯреНрдЬрд╝ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдПрдХ рдХреЛрд░ рдкрд░ рдЬрд╛рд╡рд╛ рдкрд░ рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдореЗрдВ рдЬреЗрд╕реАрдпреВрдбреАрдП рдкрд░ рддреНрд╡рд░рдг рдЪрдпрдирд┐рдд рдЦрд╛рддрд╛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ 35 рд╕реЗ рд╕реИрдХрдбрд╝реЛрдВ рдЧреБрдирд╛ рд╣реИред рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рднреА рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рд╛рд╣рд┐рддреНрдп


1. рдорд╛рд░реНрдХреЛ рд╣рдЯрд░ред JCUDAред jcuda.org
2. CUDA C рдмреЗрд╕реНрдЯ рдкреНрд░реИрдХреНрдЯрд┐рд╕ рдЧрд╛рдЗрдбред NVIDIA рдирд┐рдЧрдоред docs.nvidia.com/cuda/cuda-c-best-practices-guide ред

рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдзреНрдпрдпрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд╛рд░реНрдп (05.02.2014 рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛)


1. рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд▓реЗрдЦ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ-visnyk.kpi.ua/wp-content/uploads/2014/01/Issue-58.pdf (рдкреГрд╖реНрда 125-130 )ред
рд╕рдВрдЦреНрдпрд╛ рдереЛрдбрд╝реА рдЕрд▓рдЧ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рд░ рд╕рдорд╛рди рд╣реИред
рдкреНрд░рд┐рдпрдордХ рдП.рд╡реА. рдПрдХ рдкреНрд▓рд╛рдЬреНрдорд╛ рдореЗрдВ рд▓реИрдВрдЧрдореБрдЗрд░ рддрд░рдВрдЧреЛрдВ рдХреА рдЕрд╕реНрдерд┐рд░рддрд╛ рдХреЛ рдореЙрдбрд▓рд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп CUDA рдкрд░ рдЧрдгрдирд╛ рдХрд╛ рдЕрдиреБрдХреВрд▓рдиред // рдПрдирдЯреАрдпреВрдпреВ "рдХреЗрдкреАрдЖрдИ" рдХреА рдЦрдмрд░ред рд╕реВрдЪрдирд╛ рд╡рд┐рдЬреНрдЮрд╛рди, рдирд┐рдпрдВрддреНрд░рдг рдФрд░ obucchuyvalna рдЯреЗрдХрдиреАрдХ: obред рд╡рд┐рдЬреНрдЮрд╛рдиред рдЖрджрд┐ - рдХреЗред: рд╡реАрдХреЗ +, - реирежрезрейред - рдирдВрдмрд░ рел -ред - рд╕реАред резреирел-резрейрезред
2. рдирдХрд▓реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг vant.kipt.kharkov.ua/TABFRAME.html (2013 рдирдВрдмрд░ 4 (86) рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ)
рдмреЗрд▓реНрдХрд┐рди рдИрд╡реА, рдХрд┐рд░рд┐рдЪреЛрдХ рдПрд╡реА, рдХреБрдХрд▓рд┐рди рд╡реАрдПрдо, рдкреНрд░рд┐рдпрдордЬреИрдХ рдПрд╡реА, рдЬрд╝рд╛рдЧреЛрд░реЛрдбрдиреА рдПрдЬреА рдбрд╛рдпрдиреЗрдорд┐рдХреНрд╕ рдСрдл рд▓реИрдВрдЧреНрдореБрдЗрд░ рдЕрд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЖрдпрдиреЛрдВ рдХреА рддрд░рдВрдЧреЗрдВ // рдкрд░рдорд╛рдгреБ рд╡рд┐рдЬреНрдЮрд╛рди рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рдореБрджреНрджреЗред рд╢реНрд░реГрдВрдЦрд▓рд╛ "рдкреНрд▓рд╛рдЬреНрдорд╛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдФрд░ рдирдИ рддреНрд╡рд░рдг рд╡рд┐рдзрд┐рдпрд╛рдБ"ред 2013, рдирдВрдмрд░ 8, рдкреАред 260-266ред
3. JCUDA csconf.donntu.edu.ua/arxiv (рдЕрднреА рддрдХ рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдкреНрд░рд┐рдпрдордХ рдП.рд╡реА. Langmuir рддрд░рдВрдЧреЛрдВ рдХреЗ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдЕрд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЖрдпрди рдЧрддрд┐рдХреА рдХреЛ рдореЙрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП JCUDA рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред - рд╕реВрдЪрдирд╛ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА / IX рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рдЫрд╛рддреНрд░реЛрдВ, рд╕реНрдирд╛рддрдХ рдЫрд╛рддреНрд░реЛрдВ рдФрд░ рдпреБрд╡рд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХреЛрдВ рдХреЗ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдФрд░ рддрдХрдиреАрдХреА рд╕рдореНрдореЗрд▓рди рдХреА рдХрд╛рд░реНрдпрд╡рд╛рд╣реАред - 5-6 рдирд╡рдВрдмрд░, 2013, рдбреЛрдиреЗрдЯреНрд╕реНрдХ, рдбреЙрдирдиреЗрдЯреВред - 2013 ред-- рдПрд╕ 200-204ред
4. рдореЙрдбрд▓рд┐рдВрдЧ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред neasmo.org.ua/node/2924
рдкреНрд░рд┐рдпрдордХ рдП.рд╡реА. рдПрдХ рдкреНрд▓рд╛рдЬреНрдорд╛ рдореЗрдВ рд▓реИрдВрдЧрдореБрдЗрд░ рддрд░рдВрдЧреЛрдВ рдХреЗ рдореЙрдбреБрд▓рди рдЕрд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд╕рдВрдХрд░ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ред XVII рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕рдореНрдореЗрд▓рди рдХреА рд╕рд╛рдордЧреНрд░реА "рд╕реАрдЖрдИрдПрд╕ рджреЗрд╢реЛрдВ рдореЗрдВ рддреАрд╕рд░реА рд╕рд╣рд╕реНрд░рд╛рдмреНрджреА рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдПрдВ рдФрд░ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ" // рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкрддреНрд░реЛрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ред - 29-30 рдирд╡рдВрдмрд░, 2013, рдкреЗрд░реЗрдпрд╛рд╕реНрд▓рд╛рд╡-рдЦрдореЗрд▓рдирд┐рддреНрд╕рдХреА, рдкреЗрд░реЗрдпрд╛рд╕реНрд▓рд╛рд╡-рдЦрдореЗрд▓рдирд┐рддреНрд╕рдХреА рдбреАрдкреАрдпреВ рдЗрдоред рдЬреАред рд╕реНрдХреЛрд╡реЛрд░реЛрдбреАред - S.155-159ред

Source: https://habr.com/ru/post/In211194/


All Articles