Efa naniry ny hanorina fampiharana haingana kokoa sy mahomby kokoa ve ianao nefa nahita fa ny fiteny fandaharana mahazatra dia tsy mahafeno ny fepetra takinao?
Amin'io fotoana io no miditra ny fiteny Mojo.
Mojo dia fiteny fandaharana vaovao novolavolain'ny Modular, orinasa manampahaizana manokana amin'ny fotodrafitrasa AI.
Izy io dia natao manokana ahafahan'ny mpamorona manangana rindranasa haingana sy matanjaka kokoa ho an'ny tranga fampiasana maro, anisan'izany ny fampandrosoana AI. Amin'ity lahatsoratra ity dia hojerentsika hoe inona Mojo dia, ny fomba fiasa, ary ny antony tokony hampiasanao azy amin'ny tetikasanao manaraka.
Ny niavian'i Mojo
Ny mpamorona an'i Mojo dia nahatsapa fa ilaina ny fiteny fandaharana izay manambatra ny fampiasana Python miaraka amin'ny hafainganam-pandeha sy ny fahombiazan'ny C.
Ary, nanangana fiteny ahafahan'ny mpamorona manamboatra fampiharana manara-penitra tsy mila mianatra fiteny famaritana fitaovana mahazatra izy ireo.
Vokatr'izany dia namorona an'i Mojo izy ireo, izay natao hifanaraka tanteraka amin'ny tontolo iainana Python sady manome hafainganam-pandeha C.
Modular: Ny Fikambanana ao ambadiky ny fiteny Mojo
Iza àry no namorona ity fiteny futuristika ity?
Modular dia fanombohana fotodrafitrasa AI mitarika eran'izao tontolo izao noforonin'i Chris Lattner sy Tim Davis, izay nihaona tao amin'ny Google ary nahatsikaritra fa ny fotodrafitrasa saro-takarina sy miparitaka be dia mametra ny fiantraikan'ny AI manerantany.
Ny tanjona sy ny tanjon'ny Modular dia ny handinika indray ny fotodrafitrasa AI hanatsarana ny maha-olombelona. Ny kolontsain'izy ireo sy ny foto-kevitr'izy ireo dia manome tombony ho an'ny mpanjifa, rindrambaiko famokarana avo lenta, ary manome vokatra manan-danja
Ny tanjon'i Mojo
Mojo dia natao hanomezana maodely fandaharana tokana ho an'ny accelerators fianarana milina.
Modular dia nanapa-kevitra fa i Mojo dia tokony hamela fandaharana amin'ny tanjona ankapobeny satria ny CPU ankehitriny dia manana tensor sy accelerators AI hafa. Ankoatr'izay, satria ny Python dia ampiasaina betsaka amin'ny fianarana milina sy sehatra hafa, Modular dia nisafidy ny hiditra ao amin'ny ecosystem Python.
Ny fampiasana Python dia nanamora kokoa ny famolavolana ny fiteny. Satria ny ankamaroan'ny syntax dia efa voafaritra, ny orinasa dia afaka mifantoka amin'ny fananganana ny rafitra fanangonana sy ny fanomezana fahaiza-manao fandaharana manokana.
Lafin-javatra manan-danja hodinihina
Programmability
Karazana mandroso
Ny endri-javatra mivoatra amin'ny fiteny Mojo dia ahafahan'ny mpamorona mampiasa annotation karazana manatsara ny fahombiazany ary fisavana fahadisoana.
Ny mpamorona dia mety hamolavola kaody mahomby kokoa izay mamantatra ny lesoka amin'ny fotoana fanangonana, manala ny bibikely ary manatsara ny fahombiazany, amin'ny fanomezana fampahalalana bebe kokoa.
Zero Cost Abstractions
Afaka mifehy ny fitehirizana amin'ny alalan'ny fizarana angon-drakitra an-tsoratra ao anaty rafitra ny mpamorona noho ny sanda tsy misy vidiny omen'ny fiteny Mojo.
Amin'ny alàlan'ny fanafoanana ny fepetra takiana amin'ny fizarana fahatsiarovana fanampiny, ity fampiasa ity dia manatsara ny fahombiazan'ny kaody ary mampihena ny habetsaky ny kaody boilerplate.
Auto-Tuning amin'ny fiteny Integrated
Ny fampandehanana auto-tuning tafiditra amin'ny fiteny amin'ny fiteny Mojo dia ahafahan'ny mpamorona mamaritra ho azy ny sanda tsara indrindra amin'ny mari-pamantarana mba hahazoana tombony amin'ny fitaovana kendrena.
Miaraka amin'ity fampiasa ity dia mora kokoa ny manatsara ny kaody nefa tsy mila manitsy azy io amin'ny fitaovana tsirairay.
Ny Mojo Language dia fitaovana mora ampiasaina sy mahomby amin'ny fampivoarana AI satria izy io koa dia manome ny herin'ny MLIR (Fanehoan-kevitra eo anelanelan'ny ambaratonga maromaro), fotoana fampandehanana tsy mitovy, ary fotoana fananganana haingana.
Fanitarana
Mampiasa ny MLIR i Mojo, izay ahafahan'ny programmer mampiasa vectors, kofehy, ary fitaovana ho an'ny AI ho fampitoviana. Mojo dia manohana ny fanodinana parallèle amin'ny core maromaro mifanohitra amin'ny famonoana tokana tokana an'i Python.
Miaraka amin'ny hafainganam-pandeha 35,000x noho ny Python, ny Mojo dia mandresy fiteny hafa amin'ny resaka hafainganana.
Interoperability
Ny fiaraha-miasa amin'ny tontolo iainana Python iray manontolo dia iray amin'ireo tombony miavaka an'i Mojo. Midika izany fa afaka manambatra an'i Mojo amin'ny tranomboky tsy misy dikany ianao, toa an'i Numpy sy Matplotlib, ary koa ny kaody voatokanao.
Ohatra, azonao atao ny mijery ny angon-drakitra ao amin'ny kaody Mojo anao amin'ny alàlan'ny tranokala Python Matplotlib.
Fanitarana
Mojo ihany koa dia tena malefaka, ahafahan'ny mpampiasa manampy fotsiny ny dingana mialoha sy aorian'ny fanodinana amin'ny maodely na manolo ny dingana efa misy amin'ny dingana vaovao.
Mba hanatsarana ny maodely sy ny stack Modular, ny mpamorona dia afaka mampiasa kernel fusion, fanoratana indray ny grafika, endri-javatra, ary teknika hafa.
Nahoana ianao no fidinao mihoatra noho ny Python?
Python dia fiteny fampivoarana AI malaza noho ny fahaiza-manaony sy ny tranomboky natambatra avo lenta. Na izany aza, dia miadana kokoa noho ny fiteny toy ny C++.
Noho izany, mianatra mampiasa fonosana Python manodidina ny fiteny haingana kokoa ny mpandrindra fandaharana mba hialana amin'ny fampiasana Python amin'ny faritra manakiana ny fahombiazany.
Izany dia mitarika amin'ny olana amin'ny fiteny roa, izay tsy maintsy ovaina ny modely avy amin'ny Python ho fampiharana haingana kokoa, toy ny ONNX na sora-baventy fanilo, izay tsy mahazaka ny fahaizan'i Python rehetra. Python dia manana olana amin'ny fampisehoana ary tsy fahampian'ny fanodinana parallèle tsara.
Na ny mpandrindra efa za-draharaha aza dia sarotra ny mandalina, manao debug ary mamaha ny olan'ny fampisehoana noho ny olana amin'ny fiteny roa.
Misy ihany koa ny fameperana fototra amin'izay azon'i Python atao noho ny fomba firafitry ny fiteny. Na dia toa mora aza ny fampiharana ireo algorithm mampiasa singa fototra amin'izao tontolo izao, dia sarotra kokoa izany ary mitaky ny fampiasana fiteny haingana kokoa.
Ahoana no hanombohana?
Azonao atao ny manomboka mampiasa ny fiteny Mojo dieny izao ao amin'ny kianja filalaovana azy ireo mba hanombohana. Ny kianja filalaovana miorina amin'ny JupyterHub dia manome lesona sy fahafahana mamorona kaody Mojo anao manokana, na dia mbola eo am-pandrosoana aza i Mojo.
Azonao atao ny misoratra anarana amin'ny fidirana amin'ny tranokalany mba hidirana amin'ny Playground.
Mba hanatratrarana ny tanjony, Mojo dia mampiasa teknolojia mpanangom-bokatra amin'ny taranaka manaraka miaraka amin'ny teknolojia fizarana caching, multithreading ary rahona.
Manampy primitive fanampiny amin'ny fandaharana rafitra ary maniry ny ho lasa superset Python rehefa mandeha ny fotoana. Hanombohana kaody miaraka amin'i Mojo, ampiasao ny compiler Mojo mba hampandehanana programa Mojo avy amin'ny terminal mitovy amin'ny ataon'i Python.
Eo am-pamolavolana ny fiteny amin'izao fotoana izao ary mikendry ireo mpamorona manana traikefa amin'ny fandaharana rafitra.
Fonosy
Mojo dia heverina ho superset Python. Ary, manana fahafahana hanova ny fandaharana amin'ny alàlan'ny fampifangaroana ny fahatsoran'ny Python amin'ny fampisehoana C++ sy Rust.
Afaka manararaotra ny feno Tranomboky Python ecosystem, ahafahan'ny mpamorona mamorona tranomboky avo lenta tsy mila C, C++, Rust, na CUDA.
Izy io dia manome fahafahana ny famokarana kaody portable noho ny autotuning sy ny fandrafetana meta-programming amin'ny fotoana.
Na dia mbola eo am-pandrosoana aza izy io, dia mety ho lasa fitaovana fandaharana manaitra sy hanova ny indostrian'ny fandaharana. Noho izany, tokony hojerentsika ny fivoarana ho avy avy amin'ny Modular!
Chris Santos
Heverinao ve fa afaka manomboka ny fianarany amin’io fiteny vaovao io ve ny olona manana fahalalana fototra ka hatramin’ny antonony? Sa ve ianao manoro hevitra ny hianatra fiteny fototra kokoa, toy ny Javascript na Python?
İlke Candan Bengi
Salama Chris, miala tsiny amin'ny famaliana tara! Mino aho fa ny fananana fahatakarana/traikefa fototra momba ny Python mialoha dia mety hanampy alohan'ny hanombohan'ny Mojo.