Nanomboka nanova ny fivoaran'ny tetikasa ho rindrambaiko open source ireo mpamorona ny fiteny fandaharana Mojo. Ny loharano misokatra voalohany dia ny kaody famakiam-boky mahazatra, izay azo alaina amin'ny alàlan'ny fahazoan-dàlana Apache 2.0 miaraka amin'ny maningana amin'ny tetikasa LLVM izay mamela ny fampifangaroana amin'ny kaody eo ambanin'ny fahazoan-dàlana GPLv2. Ho fanampin'ny famoahana kaody, ny fizotran'ny fampandrosoana dia nivadika ho fisokafana sy ny fahafahana mampita ny fiovan'ny antoko fahatelo amin'ny alàlan'ny fandefasana fangatahana misintona amin'ny GitHub. Ny kaody loharanon'ny compiler dia nokasaina hosokafana rehefa vita ny famolavolana ny maritrano anatiny.
Ny tahiry dia manana sampana roa amin'ny kaody famakiam-boky mahazatra Mojo: sampana lehibe iray, miaraka amin'ny famoahana tsy miovaova farany an'i Mojo, ary sampana isan'alina, maneho ny fizotran'ny fampandrosoana ankehitriny ary mifanaraka amin'ny fananganana an'i Mojo isan'alina. Ny sampana isan-kariva dia entanina mba hampiasain'ireo mpandray anjara izay maniry ny hanatevin-daharana ny fampandrosoana sy hizara ny fiovana. Mandritra izany fotoana izany, ny sasany amin'ireo mody famakiam-boky dia mbola tsy misokatra, fa rehefa afaka kelikely, ny kaody mihidy sisa dia kasaina hafindra any amin'ny tahiry misokatra. Ny fehezan-dalàna momba ny maodely mivoatra haingana izay mitaky fanamafisana fanampiny, ny maodely izay kasaina ho an'ny refactoring, ary ireo maodely mitaky famerenana sy famerenana fanampiny noho ny fifandraisana amin'ny tetikasa fananan-tany dia mijanona mihidy.
Niara-navoaka niaraka tamin'izay ny famoahana Mojo SDK 24.2, izay ahafahana manangona tetikasa amin'ny rafitra eo an-toerana, sy ny famoahana MAX Engine 24.2, izay manolotra sehatra ho an'ny fampivoarana ny fianarana milina. Ny Mojo SDK dia ahitana ireo singa ilaina amin'ny fampivoarana rindranasa amin'ny fiteny Mojo, anisan'izany ny compiler, runtime, akora REPL interactive ho an'ny fananganana sy fampandehanana programa, debugger, add-on amin'ny Visual Studio Code (VS Code) code editor miaraka amin'ny fanohanana ny input autocompletion, ny formatting code ary ny syntax highlighting, module ho an'ny fampidirana amin'ny Jupyter ho an'ny fananganana sy fampandehanana ny kahie Mojo. Ny MAX Engine dia mameno ny SDK amin'ny fitaovana ho an'ny fampivoarana sy fampandehanana ny debugging applications izay mampiasa modely fianarana milina amin'ny endrika isan-karazany (TensorFlow, PyTorch, ONNX, sns.). Ny fanamboarana ny Mojo SDK sy ny MAX Engine dia voaomana ho an'ny sehatra. Linux и macOS.
Ny sasany amin'ireo fiovana miavaka indrindra amin'ny Mojo 24.2 dia ahitana:
- Ny Structs sy ny karazana anarana hafa dia afaka manoritra an-kolaka amin'ny toetra. Ohatra, ny rafitra rehetra ampiharana ny fomba __str__() dia mifanitsy amin'ny toetran'ny Stringable ary azo ampiasaina miaraka amin'ny fiasa str().
- Python Compatibility Tools dia nanampy fanohanana amin'ny fandefasana tohan-kevitra mifototra amin'ny teny fototra amin'ny fiasan'ny Python. Ohatra, "plt.plot((5, 10), (10, 15), color="red")"
- Fanampiana fanampiny amin'ny fandefasana tohan-kevitra miovaova amin'ny asa iray, voafaritra amin'ny alàlan'ny fanendrena teny fanalahidy. Ohatra, "print_nicely(a=7, y=8)".
- Ny karazana DynamicVector dia novana anarana ho List ary nafindra tany amin'ny modules collections.list. Nampiana ny fahafahana mamorona lisitra mifototra amin'ny isa tsy misy dikany, ohatra, "var numbers = List[Int](1, 2, 3)".
- Ny sep sy ny faran'ny anarana nomena anarana dia nampiana tao amin'ny asa fanontana (), izay ahafahanao mametraka ny separator sy ny soatoavin'ny vokatra farany. Ohatra, ny fanatanterahana printy("Manahoana", "Mojo", sep=", ", end="!!!\n") dia hiteraka vokatra "manonta Hello, Mojo!!!".
Ny tetikasa Mojo dia tarihin'i Chris Lattner, mpanorina sy lehiben'ny mpanao mari-trano ny tetikasa LLVM ary mpamorona ny fiteny fandaharana Swift. Ny syntax an'i Mojo dia mifototra amin'ny fiteny Python, ary ny rafitra karazana dia manakaiky ny C/C++. Ny tetikasa dia lazaina ho fiteny amin'ny tanjona ankapobeny izay manitatra ny fahaiza-manaon'ny Python miaraka amin'ny fahaiza-manao fandaharana amin'ny rafitra, mety amin'ny asa maro isan-karazany, ary manambatra ny fanamorana ny fampiasana ho an'ny fampandrosoana ny fikarohana sy ny prototyping haingana miaraka amin'ny fahasahiana ho an'ny vokatra farany mahomby.
Ny fahatsorana dia azo amin'ny alàlan'ny fampiasana syntax Python mahazatra, ary ny fampivoarana ny vokatra farany dia manamora ny fahaizana manambatra ny kaody milina, ny mekanika azo antoka, ary ny fampiasana fitaovana fanafainganana fitaovana. Mba hahazoana fahombiazana ambony, ny fampitoviana ny kajikajy dia tohanana amin'ny fampiasana ny loharanon-karena rehetra amin'ny rafitra heterogène misy ao amin'ny rafitra, toy ny GPU, accelerators manokana ho an'ny fianarana milina ary torolalana amin'ny processeur vector (SIMD). Ho an'ny kajikajy mafonja, ny fampitoviana sy ny fampiasana ny loharanon-karena rehetra amin'ny informatika dia ahafahana manatratra fahombiazana ambony noho ny fampiharana C/C++.
Ny fiteny dia manohana ny fanoratana static sy ny endri-javatra azo antoka amin'ny fitadidiana ambany indrindra mampahatsiahy ny Rust, toy ny fanaraha-maso mandritra ny androm-piainany sy ny mpindram-bola. Mandritra izany fotoana izany, ny fiteny ihany koa dia manome fahafahana ho an'ny asa ambany, ohatra, azo atao ny miditra mivantana ny fahatsiarovana amin'ny fomba tsy azo antoka amin'ny fampiasana ny karazana Pointer, miantso ny torolàlana SIMD tsirairay, na ny fidirana amin'ny fanitarana fitaovana toy ny TensorCores sy AMX.
Ny Mojo dia azo ampiasaina amin'ny fomba fandikana mampiasa JIT, ary amin'ny fanangonana ho rakitra azo tanterahana (AOT, mialoha ny fotoana). Ny compiler dia manana teknolojia maoderina namboarina ho an'ny fanatsarana mandeha ho azy, caching ary fanangonana fizarana. Ny kaody loharano amin'ny fiteny Mojo dia avadika ho kaody mpanelanelana ambany indrindra MLIR (Fanehoan-kevitra eo anelanelan'ny ambaratonga maro), novolavolain'ny tetikasa LLVM. Ny compiler dia ahafahanao mampiasa backends isan-karazany izay manohana ny MLIR mba hamoronana kaody milina.
Source: opennet.ru
