рдмрдВрдж рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреАрд╕реАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛? OpenMP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛? рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐
libgomp рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╕рднреА OpenMP рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, GPLv3 рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ? рдЗрддрдиреЗ рджрдпрд╛рд▓реБ рдмрдиреЛ, рдЕрдкрдирд╛ рд╕реНрд░реЛрдд рдЦреЛрд▓реЛ ...
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдмреАрдпрд░ рдХреА рдХреИрди рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреБрдЫ рднреА рдЦреЛрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рджрд░рдЕрд╕рд▓, GCC рд░рдирдЯрд╛рдЗрдо рдХрд┐рдЯ, рдЬреИрд╕реЗ рдХрд┐ libstdc ++ рдпрд╛ libgomp, рдХреЗ рдкрд╛рд╕ GPL рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╣реИ, рд▓реЗрдХрд┐рди
GCC рд░рдирдЯрд╛рдЗрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖
рдЕрдкрд╡рд╛рдж рд╣реИ ред рдпрд╣ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдПрдлрдПрдХреНрдпреВ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдереЛрдбрд╝реЗ рд╕реЗ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рдЙрдиреНрд╣реЗрдВ
рдХреЗрд╡рд▓ рдЬреАрдкреАрдПрд▓-рд╕рдВрдЧрдд рд╕рдВрдХрд▓рдХ (рдЬреАрд╕реАрд╕реА рд╕рд╣рд┐рдд)
рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдХрд╛рдореЗрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рдЬреАрдкреАрдПрд▓ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рд╣реИред
Clang / LLVM рдореЗрдВ GPL рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд BSD рдЬреИрд╕рд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╣реИ, рд▓реЗрдХрд┐рди libgomp рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдпрд╣ рд╕реНрд╡рддрдГ GPL рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрдВрдж рдХрд╛рдВрдЯреЗ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ (рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпрд╛рдВ рдЗрд╕ рддрдХрдиреАрдХ рдХреЛ рдмрд╣реБрдд рдкрд╕рдВрдж рдХрд░рддреА рд╣реИрдВ)ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЬреАрдкреАрдПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрд▓реЙрдЬ рдХреЗ рдХрд╛рд░рдг
, рдХреНрд▓реИрдВрдЧ рдореЗрдВ рдЕрднреА рднреА рдУрдкрдирдПрдордкреА рдХреА рдХрдореА рд╣реИ , рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдорддрд▓рдм рдЦрд░реЛрдВрдЪ рдХреЗ рдмрд╛рдж рд░рдирдЯрд╛рдЗрдо рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЗрдВрдЯреЗрд▓ рдиреЗ рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдпрд╛, рдмреАрдПрд╕рдбреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд
рдЕрдкрдиреЗ рдУрдкрдирдПрдордкреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдЦреЛрд▓рд╛ , рдХреНрд▓реИрдВрдЧ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдФрд░
рдПрд▓рдПрд▓рд╡реАрдПрдо рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдУрдкрдирдПрдордкреА рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рд╡рд╛рд▓ рдЕрднреА рднреА рдмрдиреЗ рд╣реБрдП рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрдВрдЯреЗрд▓ рдУрдкрдирдПрдордкреА рдЕрдкрдиреЗ рдкреВрд░реЗ рдЬреАрд╡рди рдореЗрдВ x86 (-64) рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдЖрд░рдПрдо рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Clang / LLVM рдореЗрдВ GCC рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ libstdc ++ (aka libc ++) рдФрд░ libgcov (aka llvm-cov - рдЦрд░реЛрдВрдЪ рджреНрд╡рд╛рд░рд╛ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрдкрдХрд░рдг) рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рд╛ред
рдпрд╣ рдЗрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирд╕рд┐рдХ рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдпрджреНрдпрдкрд┐ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред GCC рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдХ рдмрд╛рд░ GPLv2 рд╕реЗ GPLv3 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд▓рд┐рдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк Apple рдиреЗ рдХреНрд▓реИрдВрдЧ рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдореБрдЦреНрдп рдбреЗрд╡рд▓рдкрд░ рдХреНрд░рд┐рд╕ рд▓реБрдЯрдирд░ рдХреЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рд▓реЗрдХрд░ рдЗрд╕реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╕реБрдзрд╛рд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЕрдкрд╡рд╛рдж рдХрд╛ рдкрд╛рда рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдЙрдкрд╛рдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ "рдкреНрд░рддрд┐рдмрдВрдз рд╢рд╛рдпрдж рдЕрдкрдиреЗ рд▓рд┐рдП рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рдкреИрджрд╛ рдХрд░реЗрдЧрд╛, рдФрд░ рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЫреЛрдЯреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬреАрд╕реАрд╕реА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдпрд╣ рдПрдХ рдкреВрдВрдЫ рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рд╣реЛрдЧрд╛ рдХреБрддреНрддрд╛ред " рд╢рд╛рдпрдж, рдЬрдм рдХреНрд▓реИрдВрдЧ рдХреЗ рд▓рд┐рдП рдРрдкреНрдкрд▓ рдЬреАрд╕реАрд╕реА рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рднреА рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпрд╛рдВ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдЗрддрдиреЗ рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ ...