Mojo, mutauro mutsva wekuronga wakagadzirwa naChris Lattner mugadziri weLLVM

mojo lang

Mojo mutauro mutsva wechirongwa unovimbisa kuita zvirinani pakuvandudza muchina wekudzidza

Mazuva mashoma apfuura nyaya yakabuda kuti Chris Lattner, muvambi uye mugadziri mukuru weLLVM uye Tim Davis, aimbova mukuru weAI mapurojekiti kuGoogle yakaburitswa "Mojo", mutauro mutsva wekuronga, zvichibva paPython, iyo inogadzirisa Python kuita uye kuita nyaya.

Zvinonzi Mojo , que inosanganisa nyore kushandisa kweR&D uye nekukurumidza prototyping nekukwana kwepamusoro pekupedzisira zvigadzirwa. Iyo yekutanga inowanikwa kuburikidza nekushandiswa kweiyo yakajairika syntax yemutauro wePython, uye iyo yekupedzisira imhaka yekugona kuunganidza kumashini kodhi, nzira dzekuchengetedza ndangariro manejimendi, uye kushandiswa kwezvishandiso zvehardware kukurumidza kuverenga. .

About Mojo

Uyu mutauro mutsva wekuronga inotarisa pakushandiswa kwekusimudzira kudzidza kwemichina, asi hongue inoratidzirwa semutauro wechinangwa chakajairika iyo inowedzera kugona kwemutauro wePython nehurongwa hwemasystem uye inokodzera kuwanda kwemabasa.

Semuenzaniso, mutauro unoshanda kunzvimbo dzakaita seyepamusoro-soro komputa, kugadzirisa data, uye shanduko yedata. Chinhu chinonakidza cheMojo kugona kududzira "🔥" emoji chiratidzo sekuwedzera kwemafaira ekodhi.

Iyo purojekiti yakagadzirirwa kusanganisira hardware zviwanikwa yehurongwa huripo muhurongwa mukuverenga. Semuyenzaniso, maGPU, nyanzvi yemuchina yekudzidza accelerators, uye vector processing mirairo (SIMDs) inogona kushandiswa kumhanya Mojo application uye parallelize computations.

Chikonzero chekugadzira chikamu chakasiyana chemutauro wePython, pane kujoinha iripo CPython optimization basa, inotaurwa se:

Nzira yekuvaka, kubatanidzwa kwesimba rehurongwa hwekugadzirisa, uye kushandiswa kwezvakasiyana zvemukati zvivakwa zvinobvumira kodhi kuurayiwa paGPU uye akasiyana hardware accelerators. Panguva imwecheteyo, vagadziri veMojo vanotarisira kunamatira kukutsigira kweCPython zvakanyanya sezvinobvira.

Mojo inogona kushandiswa zvese muJIT kududzira modhi uye kuunganidza mumafaira anogona kuitiswa (AOT, mberi kwenguva). Iyo compiler yakavaka-mukati memazuva ano matekinoroji ekuzvigadzirisa, caching, uye kugovera kuunganidzwa.

Iyo kodhi source code mumutauro weMojo inoshandurwa kuita yakaderera-level yepakati kodhi MLIR (Multi-Level Intermediate Representation), yakagadziridzwa neLLVM purojekiti uye inopa mamwe mabasa ekugonesa kugadziridzwa kwemagirafu ekuyerera kwedata.

Iko kushandiswa kwemamwe magadzirirwo emagetsi ekumhanyisa makomputa anotendera iwe kuti uwane kuita iyo, neyakakura computations, inokunda C / C ++ maapplication.

Chris lattner ane basa rekugadzira akawanda emapurojekiti atinovimba tese nhasi, kunyangwe isu tingave tisina kumbonzwa nezve zvese zvaakavaka! Sechikamu chedzidziso yake yePhD, akatanga kuvandudzwa kweLLVM, iyo yakashandura zvakanyanya mavakirwo evagadziri uye nhasi inoumba hwaro hweakawanda epasi rose anonyanya kushandiswa mitauro ecosystem.

Akazoenderera mberi nekusunungura Clang, C uye C ++ compiler inogara pamusoro peLLVM uye inoshandiswa nevakawanda vepamusoro-soro vanogadzira software pasi rose (kusanganisira kupa musana wekuita-yakakosha kodhi). 

Paunenge uchiongorora mashandiro emuchina wekudzidza kugadzirisa dambudziko, iyo Modular Inference Engine AI stack yakanyorwa mumutauro weMojo, ichienzaniswa nemhinduro yakavakirwa paTensorFlow raibhurari, yakawanikwa ichikurumidza zvakapetwa katatu pane system ine intel processor.

Zvisinei, Chris akaona kuti C neC ++ vakanga vasingashandisi zvizere simba reLLVM, saka paaishanda kuApple akagadzira mutauro mutsva, unonzi "Swift", waanotsanangura se "syntax sugar yeLLVM". 

Izvo zvakakodzera kutaura kuti iyo mutauro unotsigira static kutaipa uye yakachengeteka yakaderera-chikamu chendangariro maficha izvo zvinoyeuchidza Rust maficha akadai sereferensi yehupenyu hwekutevera uye kukwereta kwakasiyana (chikwereti chekutarisa).

Kuwedzera kune nzira dzekushandisa zvakachengeteka nemanongedzo, mutauro inopawo maitiro ebasa rakaderera, semuenzaniso, zvinokwanisika kuwana zvakananga ndangariro mune isina kuchengetedzeka modhi uchishandisa iyo pointer mhando, kufonera yega SIMD mirairo, kana kuwana hardware ekuwedzera seTensorCores uye AMX.

Iye zvino, mutauro uri kukura zvakanyanya uye chete interface inopihwa online kuedza. Zvipikirwa zveramangwana ndezvekusunungura zvakaparadzana zvivakwa kuti zvimhanye pamasisitimu emuno gare gare, mushure mekugamuchira mhinduro pamusoro pebasa renzvimbo inodyidzana yewebhu.

Iyo yakavhurika sosi kodhi yemuunganidzi, JIT, uye kumwe kusimudzira-kwakanangana neprojekiti kwakarongwa mushure mekunge dhizaini yemukati yapera (iyo yekusimudzira modhi yeyakavharwa-gonhi rekushanda prototype yakafanana nedanho rekutanga rekuvandudza kweLLVM, Clang uye Swift).

Sezvo syntax yaMojo yakavakirwa paPython uye mhando system iri padyo neC/C++, pane zvirongwa mune ramangwana zvekugadzira seti yezvishandiso kuti zvive nyore kududzira mapurojekiti aripo akanyorwa muC/C++ nePython kuenda kuMojo, zvakare. sekugadzira mapurojekiti akasanganiswa anosanganisa Python neMojo kodhi.

Chekupedzisira, kana iwe uchifarira kuziva zvakawanda nezvazvo, unogona kutarisa ruzivo Mune inotevera chinongedzo.


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira data: AB Internet Networks 2008 SL
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako

  1.   jaime akadaro

    zvinonakidza kaini izvi…. (hapana mataurirwo)