Qhib lub tsev qiv ntawv Mojo lus. Mojo Toolkit 24.2 Hloov tshiab

Cov neeg tsim tawm ntawm Mojo programming lus tau pib hloov qhov project txoj kev txhim kho rau hauv qhov qhib software. Thawj qhov qhib yog tus qauv tsev qiv ntawv code, uas tam sim no muaj nyob rau hauv Apache 2.0 daim ntawv tso cai nrog kev zam los ntawm LLVM qhov project uas tso cai rau kev sib xyaw nrog cov cai hauv qab daim ntawv tso cai GPLv2. Ntxiv nrog rau kev tshaj tawm cov cai, cov txheej txheem kev txhim kho tau hloov mus rau kev qhib thiab muaj peev xwm sib txuas lus nrog lwm tus neeg hloov pauv los ntawm kev xa cov lus thov rub mus rau GitHub. Lub hauv paus code ntawm lub compiler yog npaj yuav qhib tom qab tsim lub internal architecture tiav.

Lub chaw cia khoom muaj ob ceg ntawm Mojo tus qauv tsev qiv ntawv code: ib ceg tseem ceeb, synchronized nrog qhov tseeb ruaj khov tso tawm ntawm Mojo, thiab ib ceg thaum hmo ntuj, xav txog cov txheej txheem kev loj hlob tam sim no thiab synchronized nrog hmo ntuj tsim ntawm Mojo. Cov ceg thaum hmo ntuj raug txhawb kom siv los ntawm cov neeg koom nrog uas xav koom nrog kev txhim kho thiab qhia lawv cov kev hloov pauv. Nyob rau tib lub sijhawm, qee qhov ntawm cov tsev qiv ntawv modules tseem tsis tau qhib, tab sis tom qab qee lub sijhawm cov lej kaw uas tseem tshuav tseem tau npaj yuav tsiv mus rau qhov chaw qhib. Txoj cai ntawm kev tsim kho sai sai uas yuav tsum tau muaj kev ruaj ntseg ntxiv, cov qauv uas tau npaj rau kev rov ua dua tshiab, thiab cov qauv uas xav tau kev tshuaj xyuas ntxiv thiab rov ua haujlwm dua vim muaj kev sib txuas nrog cov haujlwm tseem ceeb tseem raug kaw.

Tib lub sijhawm, Mojo SDK 24.2 tso tawm, uas ua rau muaj peev xwm sau cov haujlwm ntawm lub kaw lus hauv zos, thiab MAX Engine 24.2 tso tawm, uas muab lub platform rau kev tsim kho tshuab kawm, tau tshaj tawm. Mojo SDK suav nrog cov khoom tsim nyog rau kev tsim cov ntawv thov hauv lus Mojo, suav nrog lub compiler, runtime, lub plhaub REPL sib tham rau kev tsim thiab khiav cov kev pab cuam, lub debugger, ib qho ntxiv rau Visual Studio Code (VS Code) code editor nrog kev txhawb nqa rau kev nkag mus tsis siv neeg, kev teeb tsa code thiab syntax highlighting, ib qho module rau kev koom ua ke nrog Jupyter rau kev tsim thiab khiav Mojo notebooks. MAX Engine ua kom tiav SDK nrog cov cuab yeej rau kev tsim thiab debugging cov ntawv thov uas siv cov qauv kev kawm tshuab hauv ntau hom ntawv (TensorFlow, PyTorch, ONNX, thiab lwm yam). Cov qauv ntawm Mojo SDK thiab MAX Engine tau npaj rau lub platform. Linux и macOS.

Qee qhov kev hloov pauv tseem ceeb tshaj plaws hauv Mojo 24.2 suav nrog:

  • Cov qauv thiab lwm yam nominal tam sim no implicitly qhia rau qhov zoo. Piv txwv li, txhua tus qauv uas __str__() txoj kev yog siv implicitly sib haum mus rau lub Stringable zoo thiab siv tau nrog str() muaj nuj nqi.
  • Python Compatibility Tools tau ntxiv kev txhawb nqa kom dhau lo lus sib cav rau Python ua haujlwm. Piv txwv li, "plt.plot((5, 10), (10, 15), color="red")"
  • Ntxiv kev txhawb nqa kom dhau ntau qhov sib txawv ntawm cov lus sib cav rau qhov ua haujlwm, tau teev tseg los ntawm cov ntsiab lus tseem ceeb. Piv txwv li, "print_nicely(a=7, y=8)".
  • Hom DynamicVector tau hloov npe mus rau Sau thiab tsiv mus rau collections.list module. Ntxiv lub peev xwm los tsim ib daim ntawv teev npe raws li tus naj npawb ntawm qhov tseem ceeb, piv txwv li, "var tooj = List[Int](1, 2, 3)".
  • Lub npe tsis muaj sep thiab kawg tau muab ntxiv rau qhov print() muaj nuj nqi, los ntawm qhov uas koj tuaj yeem teeb tsa cov khoom sib cais thiab qhov kawg tso tawm qhov tseem ceeb. Piv txwv li, executing print("Nyob zoo", "Mojo", sep=", ", end="!!!\n") yuav ua rau cov zis "prints Nyob zoo, Mojo !!!".

Txoj haujlwm Mojo yog coj los ntawm Chris Lattner, tus tsim thiab tus thawj kws tsim qauv ntawm LLVM qhov project thiab tus tsim ntawm Swift programming lus. Mojo's syntax yog raws li Python lus, thiab hom kab ke ze rau C / C ++. Qhov project yog touted raws li ib hom lus dav dav uas nthuav dav lub peev xwm ntawm Python nrog cov txheej txheem kev ua haujlwm muaj peev xwm, tsim nyog rau ntau yam haujlwm, thiab sib xyaw ua ke yooj yim ntawm kev siv rau kev tshawb fawb kev loj hlob thiab prototyping sai nrog kev tsim nyog rau cov khoom ua tau zoo kawg.

Kev yooj yim yog ua tiav los ntawm kev siv Python syntax paub, thiab kev txhim kho cov khoom kawg yog yooj yim los ntawm kev muaj peev xwm los sau ua ke rau lub tshuab code, lub cim xeeb-kev nyab xeeb mechanisms, thiab kev siv cov cuab yeej kho vajtse acceleration. Txhawm rau ua tiav kev ua haujlwm siab, kev sib piv ntawm kev suav suav yog txhawb nqa siv tag nrho cov khoom siv kho vajtse ntawm cov txheej txheem sib txawv muaj nyob hauv lub kaw lus, xws li GPUs, tshwj xeeb accelerators rau kev kawm tshuab thiab vector processor cov lus qhia (SIMD). Rau kev suav siv hnyav, kev sib piv thiab kev siv tag nrho cov kev siv suav nrog ua rau nws ua tau kom ua tiav kev ua tau zoo tshaj rau C / C ++ daim ntawv thov.

Cov lus txhawb kev ntaus ntawv zoo li qub thiab tsis tshua muaj kev nco-kev nyab xeeb nta nco txog Rust, xws li kev siv lub neej taug qab thiab qiv nyiaj. Tib lub sijhawm, cov lus tseem muab sijhawm rau kev ua haujlwm qis, piv txwv li, nws tuaj yeem nkag mus rau lub cim xeeb ncaj qha hauv hom tsis muaj kev nyab xeeb siv hom Pointer, hu rau tus kheej SIMD cov lus qhia, lossis nkag mus rau cov khoom siv txuas ntxiv xws li TensorCores thiab AMX.

Mojo tuaj yeem siv ob qho tib si hauv kev txhais lus siv JIT, thiab muab tso ua ke rau hauv cov ntaub ntawv ua tiav (AOT, ua ntej-ntawm-lub sijhawm). Lub compiler muaj built-in niaj hnub technologies rau tsis siv neeg optimization, caching thiab faib muab tso ua ke. Qhov chaws hauv Mojo lus tau hloov mus rau qib qis nruab nrab MLIR (Multi-Level Intermediate Representation), tsim los ntawm LLVM project. Lub compiler tso cai rau koj siv ntau yam backends uas txhawb MLIR los tsim cov tshuab code.

Tau qhov twg los: opennet.ru

Yuav txhim khu kev qha hosting rau cov chaw nrog DDoS tiv thaiv, VPS VDS servers 🔥 Yuav lub vev xaib hosting txhim khu kev qha nrog kev tiv thaiv DDoS, VPS VDS servers | ProHoster