Mojo, az új programozási nyelv, amelyet Chris Lattner, az LLVM megalkotója hozott létre

mojo lang

A Mojo egy új programozási nyelv, amely jobb teljesítményt ígér a gépi tanulás fejlesztéséhez

Néhány nappal ezelőtt ezt a hír hozta fel Chris Lattner, az LLVM alapítója és főépítésze és Tim Davis, a Google mesterséges intelligencia projektjeinek volt vezetője megjelent a "Mojo", egy új programozási nyelv, Python alapú, amely kijavítja a Python megvalósítási és teljesítménybeli problémákat.

Megemlítik, hogy Mojo hogy egyesíti a könnyű használatot a K+F számára és gyors prototípus-készítés, amely megfelel a nagy teljesítményű végtermékekhez. Az előbbi a Python nyelv ismerős szintaxisának használatával érhető el, az utóbbi pedig a gépi kódra való fordítás képességének, a biztonságos memóriakezelés mechanizmusainak és a számítások hardveres gyorsításának eszközeinek köszönhető.

Mojo-ról

Ez az új programozási nyelv a gépi tanulás fejlesztésére összpontosít, de igene általános célú nyelvként jelenik meg amely kiterjeszti a Python nyelv képességeit rendszerprogramozással és sokféle feladatra alkalmas.

A nyelv például olyan területeken alkalmazható, mint a nagy teljesítményű számítástechnika, adatfeldolgozás és adatátalakítás. A Mojo érdekes tulajdonsága, hogy a „🔥” emoji szimbólumot kódfájlok kiterjesztéseként adhatja meg.

A projektet úgy tervezték, hogy bevonja a hardver erőforrásokat a rendszerben elérhető rendszerek közül a számításokban. Például GPU-k, speciális gépi tanulásgyorsítók és vektorfeldolgozási utasítások (SIMD-k) használhatók Mojo alkalmazások futtatására és számítások párhuzamosítására.

A Python nyelv külön részhalmazának kifejlesztésének oka, ahelyett, hogy a meglévő CPython optimalizálási munkához csatlakozna, a következőképpen hivatkozik:

Építési megközelítés, a rendszer programozási képességeinek integrálása, és egy alapvetően eltérő belső architektúra használata, amely lehetővé teszi a kód futtatását GPU-kon és különféle hardveres gyorsítókon. Ugyanakkor a Mojo fejlesztői a lehető legnagyobb mértékben ragaszkodnak a CPython támogatásához.

A Mojo használható JIT értelmezési módban és futtatható fájlokba való fordításhoz is (AOT, idő előtt). A fordító beépített modern technológiákkal rendelkezik az önoptimalizáláshoz, a gyorsítótárazáshoz és az elosztott fordításhoz.

A kód A Mojo nyelv forráskódja alacsony szintű köztes kóddá alakul MLIR (Multi-Level Intermediate Representation), amelyet az LLVM projekt fejlesztett ki, és további funkciókat biztosít az adatfolyam-grafikonok feldolgozásának optimalizálásához.

A számítások felgyorsítására további hardvermechanizmusok használata lehetővé teszi olyan teljesítmény elérését, amely intenzív számításokkal felülmúlja a C/C++ alkalmazásokat.

Chris lattner felelős számos olyan projekt létrehozásáért, amelyekben ma mindannyian támaszkodunk, bár lehet, hogy még csak nem is hallottunk mindenről, amit épített! Doktori disszertációja részeként megkezdte az LLVM fejlesztését, amely alapjaiban változtatta meg a fordítók felépítésének módját, és ma a világ legszélesebb körben használt nyelvi ökoszisztémáinak alapját képezi.

Ezután kiadta a Clang-t, egy C- és C++-fordítót, amely az LLVM tetején található, és amelyet a világ legtöbb vezető szoftverfejlesztője használ (beleértve a Google teljesítménykritikus kódjainak gerincét is). 

A gépi tanulási hibaelhárítás terén elért teljesítmény értékelésekor a Mojo nyelven írt Modular Inference Engine AI verem a TensorFlow könyvtáron alapuló megoldáshoz képest 3-szor gyorsabbnak bizonyult Intel processzoros rendszeren.

Chris azonban látta, hogy a C és a C++ nem használja ki teljesen az LLVM erejét, ezért az Apple-nél dolgozva új nyelvet tervezett, a "Swiftet", amelyet "szintaktikai cukorként LLVM-hez" ír le. 

Érdemes megemlíteni, hogy a nyelv támogatja a statikus gépelést és a biztonságos alacsony szintű memóriafunkciókat amelyek a Rust funkciókra emlékeztetnek, mint például a referenciaélettartam követése és a változó kölcsönzés (hitelellenőrző).

A mutatókkal való biztonságos üzemeltetés eszközei mellett a nyelv alacsony szintű munkához is kínál szolgáltatásokat, Például lehetséges a memória közvetlen elérése nem biztonságos módban a mutatótípus használatával, egyedi SIMD utasítások meghívása, vagy hardverbővítmények, például TensorCores és AMX elérése.

Jelenleg a nyelv intenzív fejlesztés alatt áll és csak a felületet kínálja fel online kipróbálni. A jövőbeli ígéretek szerint később, az interaktív webes környezet munkájáról kapott visszajelzések után külön buildek kiadása is a helyi rendszereken futni fog.

A fordító, a JIT és a projekthez kapcsolódó egyéb fejlesztések nyílt forráskódját a belső architektúra tervezésének befejezése után tervezzük (a zárt ajtós működő prototípus fejlesztési modellje hasonlít az LLVM, a Clang és a Swift fejlesztésének korai szakaszára).

Mivel a Mojo szintaxisa Python alapú, és a típusrendszer közel áll a C/C++-hoz, a jövőben tervezik egy olyan eszközkészlet kifejlesztését, amely megkönnyíti a C/C++ és Python nyelven írt projektek Mojo-ra való fordítását. mint a Python és a Mojo kódot kombináló hibrid projektek fejlesztésére.

Végül, ha többet szeretne megtudni róla, akkor tanulmányozza a részleteket A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   jaime dijo

    érdekes ez az egész… (ékezet nélkül)