Mahaliccin LLVM yana haɓaka sabon yaren shirye-shirye, Mojo.

Chris Lattner, wanda ya kafa kuma shugaban gine-gine na LLVM kuma mahaliccin Swift Programming Language, da Tim Davis, tsohon shugaban ayyukan AI na Google kamar Tensorflow da JAX, sun bayyana sabon yaren shirye-shirye, Mojo, wanda ya haɗu da sauƙin amfani don bincike da saurin samfuri tare da dacewa don gina manyan ayyuka na ƙarshe. Ana samun wannan ta hanyar sanannun syntax na Python, yayin da ake samun na ƙarshe ta hanyar haɗawa na asali, hanyoyin kiyaye ƙwaƙwalwar ajiya, da haɓaka kayan aiki.

Aikin yana mai da hankali kan haɓaka koyan na'ura, amma kuma an gabatar da shi a matsayin harshe na gaba ɗaya wanda ke faɗaɗa Python tare da damar tsara shirye-shirye kuma ya dace da ayyuka da yawa. Misali, yaren ya dace da yankuna kamar na'ura mai inganci da sarrafa bayanai da canji. Wani fasali mai ban sha'awa na Mojo shine ikon tantance alamar emoji "🔥" azaman tsawaita don fayilolin lamba (misali, "helloworld.🔥"), ban da tsawaita rubutu ".mojo."

Harshen a halin yanzu yana ci gaba da haɓakawa, kuma kawai hanyar sadarwa ta kan layi yana samuwa don gwaji. Standalone yana ginawa don gudana akan tsarin gida an yi alƙawarin za a buga shi daga baya, bayan karɓar ra'ayi akan yanayin yanar gizo mai mu'amala. An tsara lambar tushe don mai tarawa, JIT, da sauran abubuwan da suka danganci haɓakawa don buɗewa bayan an kammala gine-ginen cikin gida (samfurin ci gaba na rufaffiyar don samfurin aiki yana tunawa da farkon ci gaba na LLVM, Clang, da Swift). Tunda tsarin tsarin Mojo ya dogara ne akan Python, kuma nau'in tsarinsa yana kama da C/C++, tsare-tsaren da za a yi a nan gaba sun haɗa da haɓaka kayan aiki don sauƙaƙa ƙaura na ayyukan C/C++ da Python zuwa Mojo, da kuma sauƙaƙe ci gaban ayyukan matasan da suka haɗa Python da Mojo code.

An tsara aikin don yin amfani da albarkatun kayan aikin da ake da su na tsarin iri-iri don ƙididdigewa. Misali, ana iya amfani da GPUs, ƙwararrun na'urorin koyan injuna, da na'urori masu sarrafa kayan aikin koyarwa guda ɗaya (SIMD) don gudanar da aikace-aikacen Mojo da daidaita lissafi. Dalilan da aka ambata don haɓaka wani yanki na Python daban, maimakon dogaro da CPython na yanzu don haɓakawa, sun haɗa da mai da hankali kan haɗawa, haɗakar da damar shirye-shiryen tsarin, da kuma amfani da tsarin gine-gine na cikin gida daban-daban wanda ke ba da damar aiwatar da code akan GPUs da kayan haɓaka kayan aiki daban-daban. A lokaci guda, masu haɓaka Mojo sun yi niyya don kiyaye daidaituwa tare da CPython gwargwadon yiwuwa.

Ana iya amfani da Mojo duka a cikin yanayin JIT (kawai-in-lokaci) da yanayin gaba-da-lokaci (AOT). Mai tarawa yana haɗa fasahohin zamani don ingantawa ta atomatik, caching, da rarraba rarrabawa. An canza lambar tushen Mojo zuwa lambar matsakaiciyar matsakaiciyar matsakaici (MLIR), wanda aikin LLVM ya haɓaka kuma yana ba da ƙarin damar don inganta aikin sarrafa hoto. Mai tarawa yana tallafawa daban-daban masu kunna baya na MLIR don ƙirƙirar lambar injin.

Yin amfani da ƙarin haɓaka kayan masarufi yana ba da damar samun nasarar aiki don ƙididdige ƙididdiga masu ƙarfi waɗanda suka zarce na aikace-aikacen C/C++. Misali, lokacin gwada aikace-aikacen tsara tsarar Mandelbrot, aikace-aikacen Mojo da aka haɗa (r7iz.metal-16xl) ya kasance sau 6 cikin sauri fiye da aiwatarwar C ++ lokacin da ke gudana a cikin girgijen AWS (0.03 sec. da 0.20 sec.), 35,000 sau sauri fiye da aikace-aikacen Python lokacin amfani da daidaitaccen CPython na 2.10.9. kuma sau 1500 cikin sauri lokacin amfani da PYPY (0.03 sec. zuwa 46.1 sec.).

Lokacin da ake kimanta aikin koyo na na'ura, Modular Inference Engine AI stack, wanda aka rubuta a cikin Mojo, ya kasance 3x da sauri akan na'ura mai sarrafa Intel lokacin sarrafa samfurin harshe, 6.4x sauri lokacin gudanar da samfurin shawarwarin, da 2.1x da sauri lokacin gudanar da samfuran sarrafa bayanai na gani idan aka kwatanta da mafita na tushen TensorFlow. A kan na'urori na AMD, Mojo ya sami nasarorin aikin 3.2x, 5x, da 2.2x, yayin da akan masu sarrafa ARM, ya sami nasarorin aikin 5.3x, 7.5x, da 1.7x. Maganin tushen PyTorch baya bayan Mojo ta 1.4x, 1.1x, da 1.5x akan Intel CPUs, 2.1x, 1.2x, da 1.5x akan AMD CPUs, da 4x, 4.3x, da 1.3x akan CPUs na ARM.

Mahaliccin LLVM yana haɓaka sabon yaren shirye-shirye, Mojo.

Harshen yana goyan bayan bugu a tsaye da ƙaƙƙarfan fasalulluka na aminci na ƙwaƙwalwar ajiya masu tunawa da tsatsa, kamar bayanin bin diddigin rayuwa da mai duba aro. Baya ga fasalulluka aminci na mai nuni, harshen kuma yana ba da damar ƙananan matakan, kamar samun damar ƙwaƙwalwar ajiya kai tsaye a cikin yanayin mara lafiya ta amfani da nau'in Nuni, kiran kowane umarni SIMD, da samun damar haɓaka kayan masarufi kamar TensorCores da AMX.

Mahaliccin LLVM yana haɓaka sabon yaren shirye-shirye, Mojo.

Don sauƙaƙe rarrabuwa na classic da ingantaccen lambar Python don ayyuka tare da takamaiman nau'ikan ma'anar ga duk masu canji, an ba da shawarar yin amfani da kalmar "fn" daban maimakon "def." Hakazalika, don azuzuwan, idan ana buƙatar tattara bayanai a cikin ƙwaƙwalwar ajiya a lokacin tattarawa (kamar yadda yake a cikin C), ana iya amfani da nau'in "tsarin" maimakon "aji." Sauƙaƙan shigo da kayayyaki na C/C++ yana yiwuwa. Misali, don shigo da aikin cos daga ɗakin karatu na lissafi, zaku iya tantance "daga "math.h" import cos."

source: budenet.ru

Sayi amintaccen masauki don shafuka tare da kariyar DDoS, sabar VPS VDS 🔥 Sayi ingantaccen masaukin yanar gizo tare da kariyar DDoS, sabar VPS VDS | ProHoster