"2012 рдХреА рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ" рдпрд╛ "6 рдЕрд▓реНрдЯреНрд░рд╛рдмреБрдХ рдФрд░ 10 рдПрд╕рдПрд╕рдбреА рд╕рднреА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдВрдЧреЗ!"


рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!
рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рд╣реИрдмреЗ рдкрд░ рд╣реИрдХрд░ рдХреЗ рдкрджреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рджреНрд╡рд╛рд░рд╛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рд╡реАрдУрдЖрдИрдкреА рдФрд░ рдСрдирд▓рд╛рдЗрди рдЯреНрд░реИрдлрд╝рд┐рдХ рдЬрд╛рдо рджреЛрдиреЛрдВ рдХреЛ рд╣реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдореИрдВ рд╕рдкреНрддрд╛рд╣ рдХреЛ рдФрд░ рд░рдЪрдирд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ - рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдЖрдиреБрд╡рдВрд╢рд┐рдХреА рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдПрдХ рдорд╣реАрдиреЗ рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ: рд╡рд░реНрдг, рдП, рдЯреА, рдЬреА рдФрд░ рд╕реА рдХреЗ рдиреНрдпреВрдХреНрд▓рд┐рдпреЛрдЯрд╛рдЗрдбреНрд╕ рд╕реЗ рдорд┐рд▓рдХрд░ рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЖрдо рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рдЕрдзрд┐рдХрддрдо рд▓рдВрдмрд╛рдИ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВред
рдкрд┐рдЫрд▓реЗ рд╕рдордп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреБрд░рд╕реНрдХрд╛рд░ рдмрдбрд╝реЗ рдФрд░ рдордЬрдмреВрдд рд╣реБрдП рд╣реИрдВ - рдЖрдЬ, 6 рдПрд╕рд╕ рдЬрд╝реЗрдирдмреБрдХ рдпреВрдПрдХреНрд╕ 31 рдИ рдЕрд▓реНрдЯреНрд░рд╛рдмреБрдХ рдФрд░ 10 рдПрд╕рдПрд╕рдбреА рдбреНрд░рд╛рдЗрд╡ рдХреА рдХреБрд▓ рдХреНрд╖рдорддрд╛ 800 рдЧреАрдЧрд╛ рд╣реИ ред
рдХреНрдпрд╛ рдпрд╣ рд▓реБрднрд╛рд╡рдирд╛ рд╣реИ?

рдЖрдк рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?


рдЖрдкрдХреЛ рдПрдХ рд╕рдВрджрд░реНрдн рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреА рдЧрдИ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣: GATGAGCATGTGTTGAATCCTCA ) рдФрд░ рдХрдИ рд▓рдВрдмреЗ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ (рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ: GTCCTCCAGTTTGTAGCATGTGTATTTATGTCCTCCAGTTTGTAGCATGTGTATTTAT рдпрд╣ рд╕рдВрджрд░реНрдн рдФрд░ рдЗрдирдкреБрдЯ рддрд╛рд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЬреЛрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдЦреЛрдЬрдиреЗ рдФрд░ рдЙрдирдХреЗ "рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ" рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЙрддреНрддрд░ рд╣реЛрдЧрд╛ (5 13 15 23) рдФрд░ (5 13 44 52) , рдЕрд░реНрдерд╛рддреН, рджреЛ рдкрджрд╛рд░реНрде рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ:
 #  ,       ,  '-1' ref = 'GATGAGCATGTGTTGAATCCTCA' input = 'GTCCTCCAGTTTGTAGCATGTGTATTTATGTCCTCCAGTTTGTAGCATGTGTATTTAT' ref[(5 - 1):13] == input[(15 - 1):23] #True ref[(5 - 1):13] == input[(44 - 1):52] #True 

рдЖрдкрдХреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдПрдХ рд╕рдВрджрд░реНрдн рдХреЛрдб рд╣реИ рдЬреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдзреАрд░реЗ рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреНрд░реВрд░ рдмрд▓ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рд╡рд╣ рд╕рд░рд▓ рд╣реИ?

рдХреИрд╕реЗ рддрдп рдХрд░реЗрдВ?


рдпрд╣рд╛рдВ рдорд╕реНрддреА рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдореИрдВ рдХрдИ рд╡рд┐рдХрд▓реНрдк рдкреЗрд╢ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:


рдХреНрдпрд╛ рдЪреБрдирдирд╛ рд╣реИ? рдореБрдЭреЗ рдПрдХ рд╕рдВрдХреЗрдд рдЪрд╛рд╣рд┐рдП!


рдЖрдк рдХреНрдпрд╛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗред рдХрд┐рд╕реА рдХреЛ pthreads рдкрд░ рд▓рд┐рдЦрдирд╛ рдкрд╕рдВрдж рд╣реИ, рдХрд┐рд╕реА рдХреЛ OpenMP рдкрд░, рдФрд░ рдХрд┐рд╕реА рдХреЛ TBB рдФрд░ рд╢рд╛рдпрдж MKL рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИред
рдПрдХ рдмрд╛рдд рдирд┐рд╢реНрдЪрд┐рдд рд╣реИ - рдмрд╣реБрдд рд╣реА рд╕реНрдорд╛рд░реНрдЯ рд╡рд┐рдЪрд╛рд░реЛрдВ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдкрд░ рдЕрдХреНрд╕рд░ рд╣рдорд╛рд░реЗ рдордВрдЪ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ SSE4.2 рдореЗрдВ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИред

рдореИрдВ рдХрд┐рд╕ рдкрд░ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ?


рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдмрд╣реБрдд рдЫреЛрдЯреА рд╣реИред
рдЗрд╕ рдмрд╛рд░ рд╣рдордиреЗ рдЙрд╕реЗ C ++ (рдЕрдЬрдЧрд░ рдФрд░ рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд╕рдЪреНрдЪреЗ рдкреНрдпрд╛рд░ рдХреЗ рдмрд╛рд╡рдЬреВрдж) рдХреЛ рд╕рдордЭрдирд╛ рд╕рд┐рдЦрд╛рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ C ++ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рд╡рд┐рдХрд╛рд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд┐рд╕реА рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдб рдХреЛ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдорд╢реАрди (рдбреЗрдмрд┐рдпрди рд╕реНрдЯреЗрдмрд▓ - рдХрд░реНрдиреЗрд▓ 2.6.32) рдХреЗ рд╕рд╛рде gcc рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (pthreads рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг 4.6.2) рдФрд░ рдЗрдВрдЯреЗрд▓ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕реНрдЯреВрдбрд┐рдпреЛ XE 2011 (рдЗрдВрдЯреЗрд▓ рдХреЗ рд▓рд┐рдП) рдХрдВрдкрд╛рдЗрд▓рд░, рд╣рдорд╛рд░реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдЕрдиреБрдХреВрд▓рди)ред

рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХрд╛ рдХреНрдпрд╛? рдореБрдЭреЗ рдПрдХ рдЕрд▓реНрдЯреНрд░рд╛рдмреБрдХ рдЪрд╛рд╣рд┐рдП!


рдкрд╣рд▓реЗ рддреАрди рдЯреАрдореЛрдВ рдиреЗ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдХреЛрдб рд▓рд┐рдЦрд╛ рдФрд░ 16 рдордИ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдорд╛рдзрд╛рди рднреЗрдЬрд╛, рд╣рдо рдЕрд╕реВрд╕ рдЬрд╝реЗрдирдмреБрдХ рдпреВрдПрдХреНрд╕ 31 рдИ рдкреНрд░рддрд┐ рдкреНрд░рддрд┐рднрд╛рдЧреА рджреЗрдВрдЧреЗред
рджреВрд╕рд░реА рддреАрди рдЯреАрдореЗрдВ - SSD 320 рд╕реАрд░реАрдЬ 80Gb рдкрд░ ред
рдЗрдВрдЯреЗрд▓ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп 4 рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рднреА рдПрд╕рдПрд╕рдбреА рдорд┐рд▓реЗрдЧрд╛ред

рдЗрд╕рд▓рд┐рдП, рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ: рдПрдХ рдХрд╛рд░реНрдп , рдПрдХ рдорд╣реАрдиреЗ, 6 рдЕрд▓реНрдЯреНрд░рд╛рдмреБрдХ рдФрд░ 10 рдПрд╕рдПрд╕рдбреА рд░реВрд╕ рдФрд░ рд╕реАрдЖрдИрдПрд╕ рдХреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред

рднрд╛рдЧ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЛ рд╢реБрднрдХрд╛рдордирд╛рдПрдБ!

рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рдЖрдпреЛрдЬрдХ рдФрд░ рдиреНрдпрд╛рдпрд╛рдзреАрд╢ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЖрдкрдХреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред

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


All Articles