"рдХрд╛рд░реНрдп рдЬрд╡рд╛рдм рд╕реЗ рд╕рд╣рдордд рд╣реИ!"



рдореИрдВ рдЕрдХреНрд╕рд░ рдХрд╛рдо рдкрд░ рдПрдХ рд╕рд╡рд╛рд▓ рд╕реБрдирддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рд╢реИрдХреНрд╖рдгрд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ, рд╡рд╣рд╛рдВ рдХреА рдЧрдИ рдЧрдгрдирд╛ рдХреА рд╡рд┐рд╢рд╛рд▓ рдорд╛рддреНрд░рд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП: тАЬрд╣рдорд╛рд░реЗ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╣реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рд╕реЗ рдЕрд▓рдЧ рдХреНрдпреЛрдВ рд╣реИрдВ? рд╣рдо рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред '' рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдмрд╛рддрдЪреАрдд рдереА, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд░рд╣реА рдереАред рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рд╣рдо рдПрдХ рд╣реА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд┐рдореНрди рдЪрд┐рддреНрд░ рдХреНрдпреЛрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:


рдпрд╛, рджреЛ рдЕрд▓рдЧ рдорд╢реАрдиреЛрдВ рдкрд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд, рдХрд╣реЗрдВ:


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


рд╕рдм рдХреБрдЫ рдЕрдкреЗрдХреНрд╖рд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рдЕрдЧрд░ рд╣рдо рдЧрдгрд┐рддрдЬреНрдЮреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВред рдЕрдм рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдо рдПрдХ рд╣реА рд╕рдЯреАрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:


рдорд╢реАрди рдЕрдВрдХрдЧрдгрд┐рдд рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╣рдореЗрдВ IEEE 754 рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛ рд╣реИред рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рднреА рд╕рддреНрдп рд╣реИ:


рдпрд╣реАрдВ рд╕реЗ рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд▓рдЧрддреА рд╣реИрдВред рдЖрдЦрд┐рд░рдХрд╛рд░, рд╕рдВрдХрд▓рдХ рд╣рдорд╛рд░реЗ рдХреЛрдб рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрдзрди рдХрд╛ рдХреНрд░рдо рдмрджрд▓ рдЬрд╛рдП, рдФрд░ рдмрд╣реБрдд рдХреБрдЫред рдФрд░ -fp-model рд╡рд┐рдХрд▓реНрдк рдпрд╣рд╛рдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХреА рдереАред

рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рд╕рдВрдХрд▓рдХ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ, рдореВрд▓ рдкреНрд░рд╢реНрди рдЗрд╕ рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓ рд░рд╣рд╛ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ "рдЖрд╢реНрд╡рд╕реНрдд" рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдЕрднреА рднреА рдЕрд▓рдЧ рд╣реИрдВред

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

1) рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд╕рд╣реЗрдЬреЗрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, _mm_malloc () рдФрд░ _mm_free () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рдлреЛрд░рдЯреНрд░рд╛рди рдХрд╛ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рд╣реИ ! DIR $ ATTRIBUTES ALIGN: 64 :: arrayname , рд╕рд╛рде рд╣реА рдХрдореНрдкрд╛рдЗрд▓рд░ рдСрдкреНрд╢рди -ignign array64byte
2) -рджреЛ-рдореЙрдбрд▓ рд╕рдЯреАрдХ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХрдЯреМрддреА рдФрд░ рдХрдИ рдЕрдиреНрдп рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдкрд░рд┐рддреНрдпрд╛рдЧ рдХрд░рдирд╛, рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдиреБрдХрд╕рд╛рди рдХреА рдкреВрд░реНрддрд┐ рдХрд░реЗрдЧрд╛ред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рдорд╛рдирд╛ рдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рд╕рдЯреАрдХ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдЕрднреА рднреА рд╕реБрд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВред рдЕрдм рдЧрд▓рдд рдХреНрдпрд╛ рд╣реИ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрдИ рдХрд╛рд░рдг рд╣реИрдВред

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

рд╣рдореЗрдВ рдЦреБрдж рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрдВрдЯреЗрд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ, рд╕рдВрд╕реНрдХрд░рдг 13.0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдирд┐рдпрддрд╛рддреНрдордХ рдХрдЯреМрддреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ KMP_DETERMINISTIC_REDUCTION рд╣реИ ред рд╣рдо рдЗрд╕реЗ рд╣рд╛рдВ рдореЗрдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рд╢рд╛рдВрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрд╕ рд╢рд░реНрдд рдкрд░ рдХрд┐ рд╣рдо рдереНрд░реЗрдбреНрд╕ (рд╕реНрдерд┐рд░ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ) рдХреЗ рдмреАрдЪ рдХрд╛рдо рдХреЗ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИред
рдпрджрд┐ рд╣рдо Intel рдереНрд░реЗрдбрд┐рдВрдЧ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдорд╛рдирд╛рдВрддрд░_deterministic_reduce () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ, рд╡рд╣рд╛рдВ рдХрдЯреМрддреА рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реИрд╕реЗ, рдЗрдВрдЯреЗрд▓ рдЯреАрдмреАрдмреА рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХрдореА рдХреЗ рд╕реАрд░рд┐рдпрд▓ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

рдПрдХ рдФрд░ рдЕрдзрд┐рдХ "рд╢рдХреНрддрд┐рд╢рд╛рд▓реА" рдЙрджрд╛рд╣рд░рдг рдЗрдВрдЯреЗрд▓ рдореИрде рдХрд░реНрдиреЗрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдХрдИ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдЕрдзреАрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдереНрд░реЗрдбреНрд╕ рдХреА рдПрдХ рд╣реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде, рдПрдХ рд╕реНрдерд┐рд░ рдЕрдиреБрд╕реВрдЪрдХ (OMP_SCHEDULE = static, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдЯ), рдПрдХ рд╣реА OS рдФрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рдЖрдк рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдПрдордХреЗрдПрд▓ рдХрдВрдбрд┐рд╢рдирд▓ рдиреНрдпреВрдореЗрд░рд┐рдХрд▓ рд░рд┐рдкреНрд░реЛрдбреНрдпреВрд╕рдмрд┐рд▓рд┐рдЯреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╢рд░реНрдд рдХреНрдпреЛрдВ рд╣реИред рд╡реИрд╕реЗ, рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рд╕рдВрд░реЗрдЦрдг рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рд▓реЗрдХрд┐рди рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЛ "рдХреБрдЫ рдореЗрдВ рдорд┐рд▓рд╛", рдФрд░ рдПрдордХреЗрдПрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдпреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ MKL_CBWR_BRANCH (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, " COMPATIBLE " рдорд╛рди рдХреЗ рд▓рд┐рдП) рд╕реЗрдЯ рдХрд░рдирд╛, рдпрд╛ рдлрд╝рдВрдХреНрд╢рди mkl_cbwr_set (MKL_CBWR_COMPATIBLE) рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛, рд╣рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд "рд╕реНрдерд┐рд░рддрд╛" рдорд┐рд▓рддреА рд╣реИред

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

рд╡реИрд╕реЗ, рдРрд╕рд╛ рд╕рд╡рд╛рд▓ред рдХреНрдпреЛрдВ, рдЕрд▓рдЧ-рдЕрд▓рдЧ Xeons рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, (рдКрдкрд░ рдЪрд┐рддреНрд░), рдХреНрдпрд╛ рд╣рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗ? рдореИрдВрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдерд╛, рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд╕реБрдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред

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


All Articles