Déanann Cruthaitheoir LLVM Teanga Nua Ríomhchláraithe Mojo a Fhorbairt

Thug Chris Lattner, bunaitheoir agus príomh-ailtire LLVM agus cruthaitheoir na teanga ríomhchlárúcháin Swift, agus Tim Davis, iar-cheannaire tionscadail AI Google ar nós Tensorflow agus JAX, teanga ríomhchláraithe nua, Mojo, isteach a chomhcheanglaíonn éascaíocht úsáide le haghaidh forbairt taighde agus fréamhshamhail thapa a bhfuil an cumas ann táirgí deiridh ardfheidhmíochta a fhoirmiú. Baintear an chéad cheann amach trí úsáid a bhaint as comhréir eolach na teanga Python, agus an dara ceann tríd an gcumas cód meaisín a thiomsú, meicníochtaí cuimhne-sábháilte, agus úsáid uirlisí luasghéaraithe crua-earraí.

Tá an tionscadal dírithe ar úsáid le haghaidh forbartha i réimse na meaisínfhoghlama, ach cuirtear i láthair é mar theanga ilchuspóireach a leathnaíonn cumais Python le huirlisí ríomhchláraithe córais agus atá oiriúnach do raon leathan tascanna. Mar shampla, tá an teanga infheidhme i réimsí mar ríomhaireacht ardfheidhmíochta, próiseáil sonraí agus claochlú. Gné shuimiúil de Mojo is ea an cumas an carachtar emoji "🔥" a shonrú mar shíneadh do chomhaid chóid (mar shampla, "helloworld.🔥"), chomh maith leis an síneadh téacs ".mojo".

Faoi láthair, tá an teanga ag céim forbartha dian agus níl ach an comhéadan ar líne ar fáil le haghaidh tástála. Tá sé geallta go bhfoilseofar tionóil ar leith le haghaidh rith ar chórais áitiúla níos déanaí, tar éis aiseolas a fháil ar oibriú na timpeallachta gréasáin idirghníomhach. Tá sé beartaithe an cód foinse don tiomsaitheoir, JIT agus forbairtí eile a bhaineann leis an tionscadal a oscailt tar éis don ailtireacht inmheánach a bheith críochnaithe (tá an tsamhail chun fréamhshamhail oibre a fhorbairt taobh thiar de dhoirse dúnta i gcuimhne ar an gcéim tosaigh d'fhorbairt LLVM, Clang agus Swift). Ós rud é go bhfuil an chomhréir Mojo bunaithe ar an dteanga Python, agus go bhfuil an córas cineáil gar do C/C++, tá sé beartaithe acu amach anseo uirlisí a fhorbairt chun aistriúchán na dtionscadal reatha atá scríofa in C/C++ agus Python go Mojo a shimpliú, chomh maith le chun tionscadail hibrideacha a fhorbairt a chomhcheanglaíonn cód Python agus Mojo.

Tá an tionscadal deartha chun na hacmhainní crua-earraí atá ar fáil ó chórais ilchineálacha a chur san áireamh agus ríomhanna á ndéanamh. Mar shampla, is féidir GPUanna, luasairí foghlama meaisín speisialaithe, agus veicteoirí treoracha próiseálaithe (SIMD) a úsáid chun feidhmchláir Mojo a rith agus chun ríomhanna a chomhthreomharú. I measc na gcúiseanna a thugtar chun fo-thacar ar leith den teanga Python a fhorbairt seachas a bheith páirteach san obair leas iomlán a bhaint CPython atá ann cheana féin tá fócas ar thiomsú, comhtháthú cumais ríomhchláraithe an chórais, agus úsáid ailtireacht inmheánach atá difriúil go bunúsach a ligeann do chód a reáchtáil ar GPUanna agus éagsúla. luasairí crua-earraí. Mar sin féin, tá sé beartaithe ag forbróirí Mojo fanacht ag luí le CPython oiread agus is féidir.

Is féidir Mojo a úsáid sa mhodh ateangaireachta ag baint úsáide as JIT, agus le tiomsú i gcomhaid inrite (AOT, roimh an am). Tá teicneolaíochtaí nua-aimseartha ionsuite ag an tiomsaitheoir le haghaidh optamú uathoibríoch, taisceadh agus tiomsú dáilte. Déantar buntéacsanna sa teanga Mojo a thiontú ina gcód idirmheánach íseal-leibhéal MLIR (Léiriú Idirmheánach Illeibhéil), arna fhorbairt ag an tionscadal LLVM agus ag soláthar cumais bhreise chun próiseáil an ghraif sreafa sonraí a bharrfheabhsú. Ligeann an tiomsaitheoir duit innill éagsúla a úsáid a thacaíonn le MLIR chun cód meaisín a ghiniúint.

Trí shásraí crua-earraí breise a úsáid chun ríomhaireachtaí a bhrostú, is féidir feidhmíocht atá níos fearr ná feidhmchláir C/C++ a bhaint amach le linn dian-ríomh. Mar shampla, nuair a dhéantar tástáil ar fheidhmchlár chun an tacar Mandelbrot a ghiniúint, d’éirigh le feidhmchlár tiomsaithe sa teanga Mojo nuair a rinneadh é sa scamall AWS (r7iz.metal-16xl) a bheith 6 huaire níos tapúla ná an cur i bhfeidhm i C++ (0.03 sec. vs. 0.20 sec.), agus freisin 35 míle uair níos tapúla ná feidhmchlár Python nuair a úsáidtear CPython caighdeánach 3.10.9 (0.03 soic vs. 1027 soic.) agus 1500 uair níos tapúla nuair a úsáidtear PYPY (0.03 sec. vs. 46.1 soic.) .

Agus measúnú á dhéanamh ar fheidhmíocht i réimse na bhfadhbanna foghlama meaisín a réiteach, bhí an Inneall Tátail Modúlach Stack AI, scríofa sa teanga Mojo, i gcomparáid le réiteach bunaithe ar leabharlann TensorFlow, 3 huaire níos tapúla nuair a phróiseáil múnla teanga ar chóras le próiseálaí Intel, 6.4 huaire níos tapúla nuair a dhéantar forghníomhú an mhúnla giniúna molta a phróiseáil agus 2.1 uair níos tapúla agus iad ag obair le samhlacha chun faisnéis amhairc a phróiseáil. Nuair a bhí próiseálaithe AMD á n-úsáid, bhí na gnóthachain nuair a bhí Mojo á úsáid 3.2, 5 agus 2.2 uair, agus nuair a bhí próiseálaithe ARM á n-úsáid - 5.3, 7.5 agus 1.7 uair, faoi seach. Chuaigh an réiteach PyTorch-bhunaithe chun deiridh ar Mojo faoi 1.4, 1.1 agus 1.5 uair ar CPUanna Intel, uaireanta 2.1, 1.2 agus 1.5 ar CPUanna AMD agus uaireanta 4, 4.3 agus 1.3 ar CPUanna ARM.

Déanann Cruthaitheoir LLVM Teanga Nua Ríomhchláraithe Mojo a Fhorbairt

Tacaíonn an teanga le clóscríobh statach agus le gnéithe íseal-sábháilteachta cuimhne a mheabhraíonn Rust, mar rianú tagartha saoil agus seiceálaí iasachtaí. Chomh maith le háiseanna d’obair shábháilte le leideanna, cuireann an teanga gnéithe ar fáil d’obair ísealleibhéil freisin, mar shampla, rochtain dhíreach ar chuimhne i mód neamhshábháilte ag baint úsáide as an gcineál Pointeoir, ag glaoch ar threoracha aonair SIMD, nó ag rochtain ar shíntí crua-earraí mar TensorCores agus AMX .

Déanann Cruthaitheoir LLVM Teanga Nua Ríomhchláraithe Mojo a Fhorbairt

Chun scaradh cód Python clasaiceach agus optamaithe a shimpliú le haghaidh feidhmeanna le sainmhínithe cineál sainráite do gach athróg, tá sé beartaithe eochairfhocal ar leith “fn” a úsáid in ionad “def”. Mar an gcéanna do ranganna, más gá duit sonraí a phacáil go statach sa chuimhne le linn tiomsaithe (mar atá i C), is féidir leat an cineál “struct” a úsáid in ionad “aicme”. Is féidir freisin modúil a allmhairiú go simplí i dteangacha C / C ++, mar shampla, chun an fheidhm cos a allmhairiú ón leabharlann matamaitice, is féidir leat "ó "math.h" import cos" a shonrú.

Foinse: oscailtenet.ru

Ceannaigh óstáil iontaofa do shuímh le cosaint DDoS, freastalaithe VPS VDS 🔥 Ceannaigh óstáil gréasáin iontaofa le cosaint DDoS, freastalaithe VPS VDS | ProHoster