рдард╣рд░рд╛рд╡ - рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдЪреБрдкреНрдкреА, рдПрдХ рд╕рдВрдЧреАрдд рдХреЗ рдХрд╛рдо рдХреА рдЖрд╡рд╛рдЬрд╝ рдореЗрдВ рдПрдХ рд╡рд┐рд░рд╛рдо рдпрд╛ рдЙрд╕рдХреЗ рдХрд┐рд╕реА рд╣рд┐рд╕реНрд╕реЗ рдпрд╛ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрд╡рд╛рдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВред
[рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛]
рд╣реИрд░рд╛рдиреА рдХреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХрднреА-рдХрднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рдкреВрд░реА рддреЗрдЬреА рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдзреАрд░реЗ-рдзреАрд░реЗ рдпрд╛ рд░реБрдХрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдХреЛрдб рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд╕реНрдкрд┐рди-рдкреНрд░рддреАрдХреНрд╖рд╛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдард╣рд░рд╛рд╡ рдЕрдиреБрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ
рдЗрдВрдЯреЗрд▓ рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рд╕реЗрдЯ рд╕рдВрджрд░реНрдн рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЛ рд╕рдмрд╕реЗ рдХреБрд╢рд▓ рдмрдирд╛рддрд╛ рд╣реИред "рдХреНрдпрд╛ рдмрдХрд╡рд╛рд╕ рд╣реИ!" рдЖрдк рдХрд╣рддреЗ рд╣реИрдВред рдЙрдореНрдореАрдж рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╣реЛ рд╕рдХрддреА рд╣реИ? рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрд╕реЗрд╕рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ рдард╣рд░рд╛рд╡ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рд╕рдХреНрд░рд┐рдп рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде, рдЪрд┐рдк рдиреЗ рдкреЗрдВрдЯрд┐рдпрдо рдХреЗ рд╕рдордп рд╕реЗ рдмрд╣реБрдд рдХрдо рдКрд░реНрдЬрд╛ рдХреА рдЦрдкрдд рдХреА рд╣реИред рд╕реНрдЯреИрдВрдбрдмрд╛рдп рджрдХреНрд╖рддрд╛ рдФрд░ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ? рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рд╕реНрдкрд┐рди-рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреА рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ - рдпрд╣ рдЕрдм рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЬреЛ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрд╛, рд╡рд╣ рд╣реИ рдПрдХ рд╕рдорд╛рдирд╛рдВрддрд░ OpenMP рдПрдкреНрд▓реАрдХреЗрд╢рди рдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рдПрдХ рдорд╛рдорд▓реЗ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛, рдЬрд┐рд╕рдореЗрдВ, рдпрджрд┐ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рд░рд▓рддрд╛ рд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ, рддреЛ рдХрдИ рдзрд╛рдЧреЗ рдПрдХ рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рд▓рдбрд╝ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕реА рд╕рдордп, рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдУрд╡рд░рд╣реЗрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрд╢рди рдХрд╛ рд╕рдордп рдирдЧрдгреНрдп рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рд░реНрдп рдореЗрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдореЗрдВ рдЧрд▓рддреА рдХреА - рдРрд╕реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЕрдХреНрд╕рд░ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИрдВ рдФрд░ рдЖрдИрдПрд╕рдПрди рдмреНрд▓реЙрдЧреЛрд╕реНрдлреАрдпрд░ (
рдЙрджрд╛рд╣рд░рдг ) рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдордЭрдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдереА рдФрд░ рдЗрд╕реЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрд╛ред рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдХрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдПрдХ рдЕрдиреБрднрд╡реА рдЖрдБрдЦ рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рддреБрд░рдВрдд рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдо рд╕рдм рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреБрд░рдВрдд рд╕рд░рд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдБ рдЖрддреА рд╣реИрдВред рдореЗрд░рд╛ рдХрд╛рд░реНрдп рдЕрдзреНрдпрдпрди рдХреЗ рдЕрдиреБрдорд╛рдирд┐рдд рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЛ рджрд┐рдЦрд╛рдирд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрджреНрдзрддрд┐ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ) рдФрд░
рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ, рдЬреЛ рд╣рдореЗрдВ рдХреЛрдб рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдЬрд╛рд░реА рд░рдЦрддреА рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЬрд┐рд╕ рдХреЛрдб рдХреЛ рд╣рдо рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рддрдХ рдкрд╣реБрдВрдЪрд╛ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИред рд╣реЙрдЯрд╕реНрдкреЙрдЯ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ, рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ ComputePot рдлрд╝рдВрдХреНрд╢рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЙрд▓ рднреА рд╣реИрдВ - libomp5.so рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рд╕рдорд╛рдирд╛рдВрддрд░ OpenMP рдХреНрд╖реЗрддреНрд░ (рдХрд╛рдВрдЯрд╛ / рдЬреБрдбрд╝рдирд╛) рдмрдирд╛рддреЗ рдФрд░ рдирд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп рдХрд╣рд▓рд╛рддреЗ рд╣реИрдВред

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

рдЕрдЧрд▓рд╛ рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдУрд╡рд░рд╣реЗрдб рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╣рд╛рдВ рд╣реИред рдкрд╣рд▓рд╛ рдЖрд╡реЗрдЧ pthreads рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдерд╛, рдЬрд┐рд╕рд╕реЗ рдУрдкрдирд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдУрд╡рд░рд╣реЗрдб рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрдпрд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ pthreads рдереНрд░реЗрдб рдмрдирд╛рдирд╛ рдФрд░ pthread_mutex_lock / рдЕрдирд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд░ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ред рдореБрдЭреЗ рддреБрд░рдВрдд рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╣реЛрдВрдЧреЗ рдЬреЛ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рдмреАрдЪ рд▓реЛрдб рдФрд░ рдбреЗрдЯрд╛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред рдЖрдЗрдП рдлрд┐рд░ рдЗрд╕ рд╕реВрдХреНрд╖реНрдорддрдо рдкрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдо рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реБрдЖ - рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рджреЗрдЦреА рдЧрдИред рдареАрдХ рд╣реИ, рдлрд┐рд░ рд╣рдо рдУрдкрдирдПрдордкреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ (рдЗрд╕реЗ рдЗрд╕рд▓рд┐рдП рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ "рдЪреБрдирдирд╛" рдкрд░рд┐рд╡рд╛рдж рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рдпрджрд┐ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЗрд╕рдХреЗ рдбреЗрд╡рд▓рдкрд░ рдХрдВрдзреЗ рд╕реЗ рдХрдВрдзрд╛ рдорд┐рд▓рд╛рдХрд░ рдмреИрдареЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╣рдореЗрд╢рд╛ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╕рд╡рд╛рд▓реЛрдВ рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ)ред
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд▓рд╛рдЗрдЯрд╡реЗрдЯ рд╣реЙрдЯрд╕реНрдкреЙрдЯреНрд╕ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЗрд╡реЗрдВрдЯ-рдЖрдзрд╛рд░рд┐рдд рдирдореВрдирд╛рдХрд░рдг (рдИрдмреАрдПрд╕) рддрдХрдиреАрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрддрд░ рдФрд░ рдХрд░реНрдиреЗрд▓ рд╕реНрддрд░ рдкрд░ рд╕рднреА рдХреЙрд▓реЛрдВ рдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛рдЙрдВрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рдордп рдорд╛рдкрддреЗ рд╣реИрдВ (рд╕реНрд╡-рд╕рдордп)ред
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓рдЧрднрдЧ рд╕рднреА рд╕рдордп рдУрдкрдирдПрдордкреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдмрд┐рддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛: x86_pause, Wait_yield, Wait_sleep, рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╕рдордп рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреЙрд▓ рд╣рдо рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд╣рдореЗрдВ рдХреНрдпрд╛ рджреЗрддреА рд╣реИ (рдЗрд╕ рддрдереНрдп рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХрд┐, рдмрд╣реБрдд рдХрдо рд╕реЗ рдХрдо, рд╣рдореЗрдВ "рдХреЛрд░ рдХреЛ рджреВрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ"); рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдИрдмреАрдПрд╕ рддрдХрдиреАрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕рдорддрд▓ рд╣реИ, рдлрд┐рд░ рдХреБрдЫ рднреА рдирд╣реАрдВред рдлреНрд▓реИрдЯ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬреЛ рдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдирдореВрдиреЗ (рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдП рдЧрдП) рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд┐рд╕реА рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдордп рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ "рдЙрддреНрддрд▓" рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд╣рд╛рдВ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛ред

VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ XE 2013 рдмреАрдЯрд╛ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдРрд╕рд╛ рдЕрд╡рд╕рд░ рд╣реИред рдпрд╣ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдИ рддрдХрдиреАрдХ рд╣реИ, рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдмреАрдЯреАрдЖрд░ (рд╢рд╛рдЦрд╛ рд▓рдХреНрд╖реНрдп рд░рдЬрд┐рд╕реНрдЯрд░) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рдХрд░реНрдиреЗрд▓ рд╕реНрддрд░ рдкрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реЛред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА "рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯ" рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрдм рдХреБрдЫ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЗрд╡реЗрдВрдЯ (рдЬрд░реВрд░реА рд╕рдордп рдирд╣реАрдВ) рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рдХрд╛рд░реНрдп рдЙрдирдХреЗ рд╕рд░реНрдЬрдХ рдереЗред

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

рдпрд╣ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ (рдЕрд╕реЗрдВрдмрд▓реА рд╡реНрдпреВ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛) рдХрд┐ рдмрд╛рдж рд╡рд╛рд▓реЗ рдкреЙрдЬрд╝ рдЕрд╕реЗрдВрдмрд▓реА рдЯреВрд▓ рдХреЛ рдЗрдирд╡рд╛рдЗрдЯ рдХрд░реЗрдВрдЧреЗред

Wait_sleep рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕реЗ x86_pause рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╛рдирд╛рдВрддрд░ рдХреНрд╖реЗрддреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдореЗрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдХреЙрд▓ рдореЗрдВ рдХреНрдпрд╛ рдЧрдпрд╛ (рдкреНрд░рддреАрдХ рдЬреЛ рдЙрдкрдХрд░рдг рджреНрд╡рд╛рд░рд╛ resolvable рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдирд╛рдо рдХреЛрд╖реНрдардХ [vmlinux] рдореЗрдВ рд╣реИ)ред рдпрд╣рд╛рдБ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЦрдВрдб рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ "рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рд╕реНрдерд╛рди" рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╣рд┐рд╕реНрд╕рд╛ рдЧрд┐рд▓реНрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реБрдЖред

рдЕрдм рдЖрдк рдЗрд╕рд╕реЗ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдУрдкрдирдПрдордкреА рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрднрд╛рдЧ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХреЗ рдЕрд╕рдлрд▓ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рддреБрд░рдВрдд рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдард╣рд░рд╛рд╡ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдкрд┐рди-рдкреНрд░рддреАрдХреНрд╖рд╛ (рдкреНрд░рддреАрдХреНрд╖рд╛_рдбрд┐рд▓_4) рдореЗрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдЧрд░ рдЗрд╕ рдкреНрд░рддреАрдХреНрд╖рд╛ (рджрд╕рд┐рдпреЛрдВ рдорд┐рд▓реА) рдХреЗ рджреМрд░рд╛рди рдЭрдВрдбреЗ рдХрд╛ рдЪреЗрдХ рдпрд╣ рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдореНрдпреВрдЯреЗрдХреНрд╕ рдореБрдлрд╝реНрдд рд╣реИ, рддреЛ рдЕрдЧрд▓реА рдЙрдкрдЬ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ "рд╕реЛрддрд╛" рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдЗрд╕реЗ рдирд╣реАрдВ рдЬрдЧрд╛рддрд╛ред рд╣рдо рдХрд░реНрдиреЗрд▓ рдореЛрдб рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд┐рди-рд╡рд╛рдЯреНрд╕рдПрдк рдореЗрдВ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк OpenMP рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣рд╛рдВ рд╕реЗ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрдпреЛрдЧреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ, рдЬреИрд╕реЗ:
KMP_LIBRARY - рд░рди-рдЯрд╛рдЗрдо рдирд┐рд╖реНрдкрд╛рджрди рдореЛрдб [рд╕реАрд░рд┐рдпрд▓ | рдЯрд░реНрдирдЕрд░рд╛рдЙрдВрдб | рдереНрд░реВрдкреБрдЯ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ)]
KMP_BLOCKTIME - рд╕реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп [0 | рдПрди (рдбрд┐рдлрд╝реЙрд▓реНрдЯ 200 рдПрдордПрд╕) | рдЕрдирдВрдд]
рд╣рдо рдУрдкрдирдПрдордкреА рд░рди-рдЯрд╛рдЗрдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдереНрд░реЗрдбреНрд╕ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рдХреНрд░рд┐рдп рд╣реЛ рдФрд░ рдЕрдиреНрдп рдереНрд░реЗрдбреНрд╕ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ (рдпрд╣ рдареАрдХ рдпрд╣реА рд╣реИ рдХрд┐ рдереНрд░реЗрдб рдХрдВрдЯреЗрд╕реНрдЯреЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рдереНрд░реЗрдб рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдбрд╝рддреЗ рд╣реИрдВ)ред рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛:
KMP_LIBRARY = рдЯрд░реНрдирдЕрд░рд╛рдЙрдВрдбKMP_BLOCKTIME = рдЕрдирдВрддрдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЬрд╣рд╛рдВ рдХреЗрд╡рд▓ рд╣рдорд╛рд░рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдкреНрд░реЛрд╕реЗрд╕рд░ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЧрд╣рди рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рд╡реНрдпрд╕реНрдд рдирд╣реАрдВ рд╣реИрдВ), рдпрд╣ рд╕реЗрдЯрд┐рдВрдЧ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдкрд░ рдЧрддрд┐ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╡реГрджреНрдзрд┐ рд▓рд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИ, рдФрд░ рд╡реЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрддрд╛рд░ рдореЗрдВ рдЦрдбрд╝реЗ рд╣реЛрдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд▓рдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдкрд░реАрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЗрд╖реНрдЯрддрдо
рд╣реЛрдВрдЧреА ,
рдЕрд░реНрдерд╛рдд: KMP_BLOCKTIME = 0 ред
рд╣рдо рдлрд┐рд░ рд╕реЗ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВред рдЖрдЗрдП рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВред рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдкрд┐рди-рд╡реЗрдЯ рдореЗрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рд▓рдЧрднрдЧ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИ рд╣реИ (рдЬреЛ рдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдХрд░ рд░рд╣реЗ рдереЗ)ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХрд╛рд░реНрдпрдХреНрд░рдо рдиреЗ рд▓рдЧрднрдЧ 2 рдЧреБрдирд╛ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдЕрдм рдореБрдЦреНрдп рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп wa_sleep рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХреНрд╖реЗрддреНрд░ рдмрдирд╛рддреЗ рдФрд░ рдирд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗрдХреНрд╢рди (рдЕрдзрд┐рдЧреНрд░рд╣рдг_рд▓реЙрдХ) рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рд╕реЗ wa_yield_4 рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдард╣рд░рд╛рд╡ рдХрдо рд╣реЛ рдЧрдП рд╣реИрдВ, рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдереНрд░реЗрдбреНрд╕ рдХреЛ рд╕реЗрдХреНрд╢рди рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХ рдореМрдХреЗ рдорд┐рд▓реЗред

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