рдЗрдВрдЯреЗрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдирдИ рдкреАрдврд╝реА рдХреЗ рд╕рд╛рде, рдирдП рдФрд░ рддреЗрдЬреА рд╕реЗ рдЬрдЯрд┐рд▓ рд╡реЗрдХреНрдЯрд░ рдирд┐рд░реНрджреЗрд╢ рдЙрднрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡реЗрдХреНрдЯрд░ рдХреА рд▓рдВрдмрд╛рдИ (512 рдмрд┐рдЯреНрд╕) рдирд╣реАрдВ рдмрдврд╝реЗрдЧреА, рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдФрд░ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреЛ рдПрдХ рдирдЬрд╝рд░ рдореЗрдВ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдЖрдВрддрд░рд┐рдХ (рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢) рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ?
рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдЯрд░реНрдирд░реА рд▓реЙрдЬрд┐рдХ рдЬреЛ рдХрд┐рд╕реА рднреА рддреАрди-рдСрдкрд░реЗрдВрдб рдмрд╛рдЗрдирд░реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ; рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рдЗрдирд░реА рдлрд╝рдВрдХреНрд╢рди imm8 рдореЗрдВ рдореВрд▓реНрдп рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
__m512i _mm512_mask_ternarylogic_epi32 (__m512i src, __mmask8 k, __m512i a, __m512i b, int imm8) FOR j := 0 to 15 i := j*32 IF k[j] FOR h := 0 to 31 index[2:0] := (src[i+h] << 2) OR (a[i+h] << 1) OR b[i+h] dst[i+h] := imm8[index[2:0]] ENDFOR ELSE dst[i+31:i] := src[i+31:i] FI ENDFOR dst[MAX:512] := 0
рдареАрдХ рд╣реИ, рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдордиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдЕрдЧрд▓рд╛ рд╕реНрддрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛрдб рд╣реИ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЧрд╣рдирддрд╛ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЬреЛ рд▓реЛрдЧ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЖрдВрддрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рд╕рд╛рдЗрдЯ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ -
рдЗрдВрдЯреЗрд▓ рдЖрдВрддрд░рд┐рдХ рдЧрд╛рдЗрдб ред рдпрджрд┐ рдЖрдк рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрдЯрд╛-3.xxxml рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╕рднреА рдЗрдВрдЯреНрд░рд╛рд╕рд┐рдВрдХреНрд╕ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореИрдЯрд▓реИрдм рдХреЗ рд╕рдорд╛рди рдХреЛрдб рд╣реЛрддрд╛ рд╣реИред (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдкреЛрд╕реНрдЯ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдерд╛ред)
рд▓реЗрдХрд┐рди рдЬрдм рд╣рдо рдХреЛрдб рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо Matlab рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ C рдФрд░ C ++ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ! рддреАрди рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдиреЗ рдореБрдЭрд╕реЗ рдкреВрдЫрд╛ рдХрд┐ рдХреНрдпрд╛ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП C рдореЗрдВ рд╡реЗрдХреНрдЯрд░ рдЗрдВрдЯреНрд░рд┐рдВрд╕рд┐рдХреНрд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдПрдХ рдкрд╛рд░реНрд╕рд░ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреЛ рдХрд┐ Intrinsics Guide рд╕реЗ C. рдореЗрдВ рдХреЛрдб рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рд▓рдЧрднрдЧ рд╕рднреА рдЗрдВрдЯреНрд░рд┐рдВрд╕рд┐рдХреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЪрд░рдг-рджрд░-рдЪрд░рдг рдбрд┐рдмрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдВрджрд░ рдЬрд╛ рд╕рдХреЗрдВ рдпрд╛ рдбрд┐рдмрдЧ рдкреНрд░рд┐рдВрдЯрдлрд╝ рдЬреЛрдбрд╝реЗрдВ)ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреЛрд╕реНрдЯ рд╢реАрд░реНрд╖рдХ рд╕реЗ рдПрдХ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ
for (int j = 0; j <= 15; j++) { if (k & (1 << j)) { for (int h = 0; h <= 31; h++) { int index = ((((src_vec[j] & (1 << h)) >> h) << 2) | (((a_vec[j] & (1 << h)) >> h) << 1) | ((b_vec[j] & (1 << h)) >> h)) & 0x7; dst_vec[j] = (dst_vec[j] & ~(1 << h)) | ((((imm8 & (1 << index)) >> index)) << h); } } else { dst_vec[j] = src_vec[j]; } }
рд╕рдЪ рд╣реИ, рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╣реИ? рд╕рдЪ рдореЗрдВ рдирд╣реАрдВ? рдЦреИрд░, рдореИрдВрдиреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдп рдХреЛ рдЪреБрдирд╛ред рдЖрдорддреМрд░ рдкрд░, рдЬрдм рдЖрдк рдЖрдВрддрд░рд┐рдХ рдХреЗ рд╕рд╛рде рдХреЛрдб рдбрд┐рдмрдЧ рдХрд░рддреЗ рд╣реИрдВ, (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреАрдПрд╕рдкреА) рддреЛ рдЖрдкрдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрджреЗрд╢ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдирд┐рд░реНрджреЗрд╢ рд▓рдВрдмреЗ рд╡реИрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдбреАрдПрд╕рдкреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЕрдХреНрд╕рд░ рдЧрдВрднреАрд░ рдЧрдгрд┐рдд рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдореЗрд░рд╛ рд╕рд┐рд░ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдкрд░реНрдпрд╛рдкреНрдд рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕реНрдореГрддрд┐ рдФрд░ рдПрдХрд╛рдЧреНрд░рддрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдХреЗрд▓рд╛ рдирд╣реАрдВ рд╣реВрдВ - рдХрдИ рдмрд╛рд░ рдореИрдВрдиреЗ рднреА рд╕реЛрдЪрд╛ рдХрд┐ рдореБрдЭреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдПрдХ рдмрдЧ рдорд┐рд▓рд╛ рд╣реИред рдлрд┐рд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рд░ рдмрд╛рд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореИрдВ рдЧрд▓рдд рдерд╛, рдФрд░ рдпрд╣ рдПрдХ рдирдпрд╛ FDIV рдмрдЧ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореИрдВ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдВрджрд░ рдХрджрдо рдбреАрдмрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рддреБрд░рдВрдд рд╕рдордЭ рдореЗрдВ рдЖ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдореЗрд░реЗ рд╡реЗрдХреНрдЯрд░ рдХреЗ рдШрдЯрдХ рдореЗрдВ рдРрд╕реА рдХреМрди рд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ, рдЬрд┐рдирдХреА рдореБрдЭреЗ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереАред
рдЧреНрд░рд╛рд╣рдХреЛрдВ рдиреЗ рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рд╡реЗ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ AVX-512 рдЗрдВрдЯреНрд░рд┐рдВрд╕рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд▓реИрдкрдЯреЙрдк рдкрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ AVX2 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдмреЗрд╢рдХ,
рдЗрдВрдЯреЗрд▓ рдПрд╕рдбреАрдИ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдЕрдиреБрдХреВрд▓ рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рднреА рдЕрдиреБрджреЗрд╢ рд╕реЗрдЯреЛрдВ рдХреА рдмреЗрд╣рдж рд╕рдЯреАрдХ рдирдХрд▓ рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ (рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рднреА) рдЬреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЖрдВрддрд░рд┐рдХ рдХреЗ рд▓рд┐рдП рдЗрд╕реА рдХреЛрдбрд╛рдВрддрд░рдХ рдЕрдиреБрджреЗрд╢ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рд╣реЛрддреЗ рд╣реИрдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рдо рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреБрдЫ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЗрдВрдЯреНрд░рд┐рдирд┐рдХреНрд╕ рдПрдХ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ (рдбрдмрд▓ рдФрд░ рд╕рд┐рдВрдЧрд▓ рдкреНрд░рд┐рд╕рд┐рдЬрди) рджреЛрдиреЛрдВ рд╣рдореЗрд╢рд╛ 100% рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдХрднреА-рдХрднреА рдпрд╣ рддрд░рд╣
- рддрд░рд╣ рдХрд╛
рд╣реЛрддрд╛ рд╣реИ-рдЧрдгрд┐рдд ред рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджреМрд░ рддрдВрддреНрд░ рд╣реИрдВ! IEE754 рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕реВрдХреНрд╖реНрдорддрд╛рдПрдБ рд╣реИрдВ ...
рдПрд╕рдбреАрдИ рдХреЗ рдмрдЬрд╛рдп рдЕрдиреИрддрд┐рдХ рдбрд┐рдмрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ (рдЬреЛ рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдордВрдЬреВрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рд░реЛрдХ рдирд╣реАрдВ рд╕рдХрддрд╛)ред рдпрджрд┐ рдЖрдк рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде gcc рдпрд╛
clang рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
-march = nehalem , рддреЛ gcc рдФрд░
clang рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд╕реНрдЯреИрдХ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ 512-рдмрд┐рдЯ рд╡реИрдХреНрдЯрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдФрд░ ICC рдЕрднреА рднреА рдЙрдиреНрд╣реЗрдВ ZMM0 рдкрд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдореЛрдб рдореЗрдВ Intel рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЬреАрд╕реАрд╕реА рдХреЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдпреЛрдЧреА рд╡рд┐рдХрд▓реНрдк рд╣реИ
-рдСрдЧ , рдЬреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЕрдиреИрддрд┐рдХ рдбрд┐рдмрдЧ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдХрдИ рдЖрдВрддрд░рд┐рдХ рд╣реИрдВ рдЬрд┐рдирдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрд░рд╡рд╛рдИ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓рдирд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╛ рдЭрдВрдбреЗред рдореИрдВрдиреЗ рдРрд╕реЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЦреИрд░, рдЬрдмрдХрд┐ рдореЗрд░рд╛ рдкрд╛рд░реНрд╕рд░ рдХрд╛рдлреА рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓рдЧрднрдЧ 10% рдЖрдВрддрд░рд┐рдХрддрд╛ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрднреА рднреА рдЧрд╛рдпрдм рд╣реИред
рдЗрдорд┐рдЧреНрд░реАрди рдбреАрдмрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ - рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдбрд┐рдмрдЧ рдмрд┐рд▓реНрдб рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрдореНрдорд┐рдВрдЯреНрд░рд┐рди_рдПрдЪрдмреА рдХреЗ рдмрдЬрд╛рдп рдЗрдорд┐рдЧреНрд░реАрди_рдбрдмреНрдЧ.рдПрдЪ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
рдЖрдк рдЗрд╕реЗ
рдЬреАрдереВрдм рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред