LLVM рд╕рд┐рд░реНрдЬрдирд╛рдХрд░реНрддрд╛рд▓реЗ рдирдпрд╛рдБ рдореЛрдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджрдЫ

LLVM рдХрд╛ рд╕рдВрд╕реНрдерд╛рдкрдХ рд░ рдкреНрд░рдореБрдЦ рд╡рд╛рд╕реНрддреБрдХрд╛рд░ рд░ рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рдХреНрд░рд┐рд╕ рд▓реНрдпрд╛рдЯрдирд░ рд░ Tensorflow рд░ JAX рдЬрд╕реНрддрд╛ Google AI рдкрд░рд┐рдпреЛрдЬрдирд╛рдХрд╛ рдкреВрд░реНрд╡ рдкреНрд░рдореБрдЦ рдЯрд┐рдо рдбреЗрднрд┐рд╕рд▓реЗ рдПрдЙрдЯрд╛ рдирдпрд╛рдБ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛, рдореЛрдЬреЛ рдкреЗрд╢ рдЧрд░реЗрдХрд╛ рдЫрдиреН, рдЬрд╕рд▓реЗ рдЕрдиреБрд╕рдиреНрдзрд╛рди рд╡рд┐рдХрд╛рд╕рдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧрдорд╛ рд╕рд╣рдЬрддрд╛рдХреЛ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрджрдЫред рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдЕрдиреНрддреНрдп рдЙрддреНрдкрд╛рджрдирд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреЗ рд╕рдореНрднрд╛рд╡реНрдпрддрд╛рдХреЛ рд╕рд╛рде рджреНрд░реБрдд рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдкред рдкрд╣рд┐рд▓реЛ рдкрд╛рдЗрдерди рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрд┐рдд рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕рдХреЛ рдкреНрд░рдпреЛрдЧ рдорд╛рд░реНрдлрдд рд╣рд╛рд╕рд┐рд▓ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд░ рджреЛрд╕реНрд░реЛ рдореЗрд╢рд┐рди рдХреЛрдбрдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛, рдореЗрдореЛрд░реА-рд╕реЗрдл рдореЗрдХрд╛рдирд┐рдЬрдорд╣рд░реВ, рд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдПрдХреНрд╕реЗрд▓реЗрд░реЗрд╢рди рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧ рдорд╛рд░реНрдлрддред

рдпреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрд╕рд┐рди рд▓рд░реНрдирд┐рдЩрдХреЛ рдХреНрд╖реЗрддреНрд░рдорд╛ рд╡рд┐рдХрд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧрдорд╛ рдХреЗрдиреНрджреНрд░рд┐рдд рдЫ, рддрд░ рдпрд╕рд▓рд╛рдИ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдпреАрдп рднрд╛рд╖рд╛рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬрд╕рд▓реЗ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЙрдкрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рдкрд╛рдЗрдердирдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реВ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрджрдЫ рд░ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╡рд┐рд╕реНрддреГрдд рджрд╛рдпрд░рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рднрд╛рд╖рд╛ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ, рдбрд╛рдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдЩ рд░ рд░реВрдкрд╛рдиреНрддрд░рдг рдЬрд╕реНрддрд╛ рдХреНрд╖реЗрддреНрд░рдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫред Mojo рдХреЛ рдПрдЙрдЯрд╛ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рднрдиреЗрдХреЛ рдЗрдореЛрдЬреА рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ "ЁЯФе" рдХреЛрдб рдлрд╛рдЗрд▓рд╣рд░реВ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, "helloworld.ЁЯФе"), рдЯреЗрдХреНрд╕реНрдЯ рдПрдХреНрд╕рдЯреЗрдиреНрд╕рди ".mojo" рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╕реНрддрд╛рд░рдХреЛ рд░реВрдкрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рд╣реЛред

рд╣рд╛рд▓, рднрд╛рд╖рд╛ рдЧрд╣рди рд╡рд┐рдХрд╛рд╕рдХреЛ рдЪрд░рдгрдорд╛ рдЫ рд░ рдХреЗрд╡рд▓ рдЕрдирд▓рд╛рдЗрди рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкрд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫред рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╡реЗрдм рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдкрдЫрд┐ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдЫреБрдЯреНрдЯреИ рд╕рдореНрдореЗрд▓рдирд╣рд░реВ рдкрдЫрд┐ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрдиреЗ рд╡рд╛рдЪрд╛ рдЧрд░рд┐рдиреНрдЫред рдХрдореНрдкрд╛рдЗрд▓рд░, JIT рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЕрдиреНрдп рд╡рд┐рдХрд╛рд╕рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╕реНрд░реЛрдд рдХреЛрдб рдЖрдиреНрддрд░рд┐рдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкреВрд░рд╛ рднрдПрдкрдЫрд┐ рдЦреЛрд▓реНрдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдЗрдПрдХреЛ рдЫ (рдмрдВрдж рдвреЛрдХрд╛ рдкрдЫрд╛рдбрд┐ рдХрд╛рдо рдЧрд░реНрдиреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреЗ рдореЛрдбреЗрд▓рд▓реЗ LLVM, рдХреНрд▓реНрдпрд╛рдВрдЧ рд░ рд╡рд┐рдХрд╛рд╕рдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЪрд░рдгрдХреЛ рд╕рдореНрдЭрдирд╛ рджрд┐рд▓рд╛рдЙрдБрдЫред рд╕реНрд╡рд┐рдлреНрдЯ)ред рдореЛрдЬреЛ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рдкрд╛рдЗрдерди рднрд╛рд╖рд╛рдорд╛ рдЖрдзрд╛рд░рд┐рдд рднрдПрдХреЛ рд╣реБрдирд╛рд▓реЗ, рд░ рдЯрд╛рдЗрдк рдкреНрд░рдгрд╛рд▓реА C/C++ рдХреЛ рдирдЬрд┐рдХ рдЫ, рднрд╡рд┐рд╖реНрдпрдорд╛ рддрд┐рдиреАрд╣рд░реВрд▓реЗ C/C++ рд░ Python рдорд╛ Mojo рдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдЕрд╡рд╕реНрдерд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рдЕрдиреБрд╡рд╛рджрд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрди рдЙрдкрдХрд░рдгрд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдХрд╛ рдЫрдиреНред рдкрд╛рдЗрдерди рдХреЛрдб рд░ рдореЛрдЬреЛ рдорд┐рд▓рд╛рдПрд░ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЧрдгрдирд╛ рдкреНрд░рджрд░реНрд╢рдирдорд╛ рд╡рд┐рд╖рдо рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рдЙрдкрд▓рдмреНрдз рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрд░реЛрддрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, GPUs, рд╡рд┐рд╢реЗрд╖ рдореЗрд╕рд┐рди рд▓рд░реНрдирд┐рдЩ рдПрдХреНрд╕реЗрд▓реЗрдЯрд░рд╣рд░реВ, рд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЗрдиреНрд╕реНрдЯреНрд░рдХреНрд╢рди рднреЗрдХреНрдЯрд░рд╣рд░реВ (SIMD) Mojo рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЪрд▓рд╛рдЙрди рд░ рдЧрдгрдирд╛рд╣рд░реВ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЕрд╡рд╕реНрдерд┐рдд CPython рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди рдХрд╛рд░реНрдпрдорд╛ рд╕рд╛рдореЗрд▓ рд╣реБрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ рдкрд╛рдЗрдерди рднрд╛рд╖рд╛рдХреЛ рдЫреБрдЯреНрдЯреИ рдЙрдкрд╕рдореВрд╣рдХреЛ рд╡рд┐рдХрд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐ рджрд┐рдЗрдПрдХреЛ рдХрд╛рд░рдгрд╣рд░реВ рд╕рдВрдХрд▓рдирдорд╛ рдлреЛрдХрд╕, рдкреНрд░рдгрд╛рд▓реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдХреНрд╖рдорддрд╛рд╣рд░реВрдХреЛ рдПрдХреАрдХрд░рдг, рд░ рдореМрд▓рд┐рдХ рд░реВрдкрдорд╛ рдлрд░рдХ рдЖрдиреНрддрд░рд┐рдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рдХреЛ рдкреНрд░рдпреЛрдЧ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рдХреЛрдб GPU рд╣рд░реВрдорд╛ рдЪрд▓реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд░рд╡реЗрдЧрдХрд╣рд░реВред рдЬреЗ рд╣реЛрд╕реН, рдореЛрдЬреЛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рд╕рдХреЗрд╕рдореНрдо CPython рд╕рдБрдЧ рдорд┐рд▓реНрджреЛ рд░рд╣рди рдЪрд╛рд╣рдиреНрдЫрдиреНред

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

рдЧрдгрдирд╛рдХреЛ рдЧрддрд┐ рдмрдврд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЗрдХрд╛рдирд┐рдЬрдорд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрд▓реЗ рдЧрд╣рди рдЧрдгрдирд╛рдХреЛ рдХреНрд░рдордорд╛ C/C++ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рднрдиреНрджрд╛ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рд╣рд╛рд╕рд┐рд▓ рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, Mandelbrot рд╕реЗрдЯ рдЙрддреНрдкрдиреНрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрджрд╛, AWS рдХреНрд▓рд╛рдЙрдб (r7iz.metal-16xl) рдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджрд╛ рдореЛрдЬреЛ рднрд╛рд╖рд╛рдорд╛ рдПрдХ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ C++ (реж.режрей рд╕реЗрдХреЗрдиреНрдб рдмрдирд╛рдо) рдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднрдиреНрджрд╛ рем рдЧреБрдгрд╛ рдЫрд┐рдЯреЛ рднрдпреЛред реж.реиреж рд╕реЗрдХреЗрдиреНрдб), рд░ рдорд╛рдирдХ CPython рей.резреж.реп (реж.режрей рд╕реЗрдХреЗрдиреНрдб рдмрдирд╛рдо резрежреирен рд╕реЗрдХреЗрдиреНрдб) рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдкрд╛рдЗрдерди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднрдиреНрджрд╛ рейрел рд╣рдЬрд╛рд░ рдЧреБрдгрд╛ рдЫрд┐рдЯреЛ рд░ PYPY (реж.режрей рд╕реЗрдХреЗрдиреНрдб рдмрдирд╛рдо рекрем.рез рд╕реЗрдХреЗрдиреНрдб) рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ резрелрежреж рдЧреБрдгрд╛ рдЫрд┐рдЯреЛред ред

рдореЗрд╕рд┐рди рд▓рд░реНрдирд┐рдЩ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рдХреНрд╖реЗрддреНрд░рдорд╛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрджрд╛, рдореЛрдЬреЛ рднрд╛рд╖рд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдПрдЖрдИ рд╕реНрдЯреНрдпрд╛рдХ рдореЛрдбреНрдпреБрд▓рд░ рдЗрдиреНрдлрд░реЗрдиреНрд╕ рдЗрдиреНрдЬрд┐рди, рдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рдирдХреЛ рддреБрд▓рдирд╛рдорд╛, рдкреНрд░рдгрд╛рд▓реАрдорд╛ рднрд╛рд╖рд╛ рдореЛрдбреЗрд▓ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрд╛ рей рдЧреБрдгрд╛ рдЫрд┐рдЯреЛ рдерд┐рдпреЛред рдПрдХ Intel рдкреНрд░реЛрд╕реЗрд╕рд░, 3 рдЧреБрдгрд╛ рдЫрд┐рдЯреЛ рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЙрддреНрдкрд╛рджрди рдореЛрдбреЗрд▓рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрджрд╛ рд░ 6.4 рдЧреБрдгрд╛ рдЫрд┐рдЯреЛ рджреГрд╢реНрдп рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рдореЛрдбреЗрд▓рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛ред AMD рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, Mojo рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рд▓рд╛рднрд╣рд░реВ 2.1, 3.2 рд░ 5 рдкрдЯрдХ рдерд┐рдП, рд░ ARM рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ - рдХреНрд░рдорд╢рдГ 2.2, 5.3 рд░ 7.5 рдкрдЯрдХред PyTorch-рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди Intel CPUs рдорд╛ Mojo 1.7, 1.4 рд░ 1.1 рдкрдЯрдХ, AMD CPUs рдорд╛ 1.5, 2.1 рд░ 1.2 рдкрдЯрдХ рд░ ARM CPU рдорд╛ 1.5, 4 рд░ 4.3 рдкрдЯрдХ рдкрдЫрд┐ рдкрд░реНрдпреЛред

LLVM рд╕рд┐рд░реНрдЬрдирд╛рдХрд░реНрддрд╛рд▓реЗ рдирдпрд╛рдБ рдореЛрдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджрдЫ

рднрд╛рд╖рд╛рд▓реЗ рд╕реНрдерд┐рд░ рдЯрд╛рдЗрдкрд┐рдЩ рд░ рд░рд╕реНрдЯрдХреЛ рд╕рдореНрдЭрдирд╛ рдЧрд░рд╛рдЙрдиреЗ рдирд┐рдореНрди-рд╕реНрддрд░ рдореЗрдореЛрд░реА-рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рдЬрд╕реНрддреИ рд╕рдиреНрджрд░реНрдн рдЬреАрд╡рдирднрд░ рдЯреНрд░реНрдпрд╛рдХрд┐рдЩ рд░ рдЙрдзрд╛рд░реЛ рдкрд░реАрдХреНрд╖рдХред рд╕реВрдЪрдХрд╣рд░реВрд╕рдБрдЧ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд╛рдордХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рднрд╛рд╖рд╛рд▓реЗ рдирд┐рдореНрди-рд╕реНрддрд░рдХреЛ рдХрд╛рдордХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреЛрдЗрдиреНрдЯрд░ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдореЛрдбрдорд╛ рдореЗрдореЛрд░реАрдорд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рдкрд╣реБрдБрдЪ, рд╡реНрдпрдХреНрддрд┐рдЧрдд SIMD рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдХрд▓ рдЧрд░реНрдиреЗ, рд╡рд╛ TensorCores рд░ AMX рдЬрд╕реНрддрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ рдкрд╣реБрдБрдЪ рдЧрд░реНрдиреЗред ред

LLVM рд╕рд┐рд░реНрдЬрдирд╛рдХрд░реНрддрд╛рд▓реЗ рдирдпрд╛рдБ рдореЛрдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджрдЫ

рд╕рдмреИ рдЪрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд╛рд╣рд░реВрд╕рдБрдЧ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдХреНрд▓рд╛рд╕рд┐рдХ рд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдкрд╛рдЗрдерди рдХреЛрдбрдХреЛ рд╡рд┐рднрд╛рдЬрдирд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрди, "def" рдХреЛ рд╕рдЯреНрдЯрд╛ рдЫреБрдЯреНрдЯреИ рдХреБрдЮреНрдЬреА рд╢рдмреНрдж "fn" рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫред рддреНрдпрд╕реИрдЧрд░реА рдХрдХреНрд╖рд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рд╕рдВрдХрд▓рдирдХреЛ рдХреНрд░рдордорд╛ рдореЗрдореЛрд░реАрдорд╛ рдбреЗрдЯрд╛ рд╕реНрдерд┐рд░ рд░реВрдкрдорд╛ рдкреНрдпрд╛рдХ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ (рдЬрд╕реНрддреИ C рдорд╛), рддрдкрд╛рдЗрдБ "class" рдХреЛ рд╕рдЯреНрдЯрд╛ "struct" рдкреНрд░рдХрд╛рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рдХреЗрд╡рд▓ C/C++ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдЖрдпрд╛рдд рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЧрдгрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпрдмрд╛рдЯ cos рдкреНрд░рдХрд╛рд░реНрдп рдЖрдпрд╛рдд рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ "math.h" рдЖрдпрд╛рдд cos" рдмрд╛рдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди