RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

比python更好的語(yǔ)言?聲稱比Python快68000倍 Mojo編程語(yǔ)言開(kāi)放下載

OSC開(kāi)源社區(qū) ? 來(lái)源:OSC開(kāi)源社區(qū) ? 2023-09-12 18:09 ? 次閱讀

Mojo 是 Modular AI 公司開(kāi)發(fā)的新編程語(yǔ)言,它結(jié)合了 Python 的易用性以及 C 語(yǔ)言的可移植性和性能,目標(biāo)是使其成為 AI 研究和生產(chǎn)的理想選擇。 Modular AI 是 Chris Lattner 和 Tim Davis 于 2022 年創(chuàng)立的公司,目標(biāo)是自下而上重建全球 ML 基礎(chǔ)設(shè)施。在這家新生的創(chuàng)業(yè)公司中,Chris Lattner 以 CEO 身份領(lǐng)導(dǎo)團(tuán)隊(duì)。

Chris Lattner 畢業(yè)于波特蘭大學(xué)的計(jì)算機(jī)科學(xué)系,具有創(chuàng)建和領(lǐng)導(dǎo)多個(gè)知名大型項(xiàng)目的經(jīng)驗(yàn),其中包括 LLVM、Clang、MLIR 和 CIRCT 等編譯器基礎(chǔ)設(shè)施項(xiàng)目,他還帶頭創(chuàng)建了 Swift 編程語(yǔ)言。

從 2005 年 7 月到 2017 年 1 月間,他曾領(lǐng)導(dǎo)蘋果的開(kāi)發(fā)者工具部門,隨后,曾短暫領(lǐng)導(dǎo)過(guò)特斯拉自動(dòng)駕駛團(tuán)隊(duì)。2017 年 8 月,Chris Lattner 在 Google Brain 團(tuán)隊(duì)領(lǐng)導(dǎo)了 TensorFlow 基礎(chǔ)設(shè)施工作,包括一系列硬件支持(CPU、GPU、TPU),底層運(yùn)行時(shí)和編程語(yǔ)言工作。
今年 5 月,Modular AI 向外界公布了 Mojo。據(jù)稱自 Mojo 亮相以來(lái),超過(guò) 12 萬(wàn)開(kāi)發(fā)者注冊(cè)使用了 Mojo Playground,另外還有 19 萬(wàn)開(kāi)發(fā)者參與 Discord 與 GitHub 討論。Modular AI 公司更是在上月底宣布融資 1 億美元。
9 月 7 日,Modular AI宣布Mojo正式開(kāi)放下載,這意味著開(kāi)發(fā)者可以在本地使用 Mojo 進(jìn)行開(kāi)發(fā) ——目前僅支持 Linux,官方表示會(huì)盡快推出 Mac 和 Windows 版本。根據(jù)公告,官方提供了編譯器和 Mojo SDK。其中 Mojo SDK 還包括全套開(kāi)發(fā)者和 IDE 工具 ,用于輕松構(gòu)建和迭代 Mojo 應(yīng)用程序。759c81b0-4e37-11ee-a25d-92fbcf53809c.png下面是 Mojo SDK 包含的工具概覽。75bc24d4-4e37-11ee-a25d-92fbcf53809c.png
  • mojo 驅(qū)動(dòng):提供 shell 用于 read-eval-print-loop 或 REPL 的 shell,支持構(gòu)建和運(yùn)行 Mojo 程序、打包 Mojo 模塊(包括對(duì) 擴(kuò)展的支持)、生成文檔和格式化代碼?

  • VS Code 擴(kuò)展:支持多項(xiàng)生產(chǎn)力功能,例如語(yǔ)法高亮顯示、自動(dòng)補(bǔ)全代碼等 ?

  • Jupyter kernel:支持構(gòu)建和運(yùn)行 Mojo notebooks,包括 Python 代碼??

  • 調(diào)試工具(即將推出):進(jìn)入并檢查正在運(yùn)行的 Mojo 程序,甚至包括混合 C++ 和 Mojo 代碼的框架

Mojo 剛發(fā)布時(shí),官方介紹稱它能夠利用 MLIR,使 Mojo 開(kāi)發(fā)者能夠利用向量、線程和 AI 硬件單元。根據(jù)測(cè)試,Mojo 比 Python 快 35000 倍。75fb1c3e-4e37-11ee-a25d-92fbcf53809c.png最近開(kāi)發(fā)團(tuán)隊(duì)刷新了自己的成績(jī),他們表示Mojo 將動(dòng)態(tài)和靜態(tài)語(yǔ)言的優(yōu)點(diǎn)結(jié)合在一起,性能可達(dá)到目前 Python 的 68000 倍。 7658bbe6-4e37-11ee-a25d-92fbcf53809c.png▲ 好一個(gè) Python++這很難評(píng),各位自行下載來(lái)玩一玩吧:https://developer.modular.com/示例代碼跟 Python 一樣,可以通過(guò)運(yùn)行 mojo 命令在 REPL 中進(jìn)行編程。下面是使用 Mojo 計(jì)算歐幾里得距離的代碼:
$ mojo
Welcome to Mojo! 
Expressions are delimited by a blank line.
Type `:mojo help` for further assistance.
1> %%python
2. import numpy as np
3. n = 10000000
4. anp = np.random.rand(n)
5. bnp = np.random.rand(n)

6> from tensor import Tensor
7. let n: Int = 10000000
8. var a = Tensor[DType.float64](n)
9. var b = Tensor[DType.float64](n)
10. for i in range(n):
11.    a[i] = anp[i].to_float64()
12.    b[i] = bnp[i].to_float64()

13> from math import sqrt
14. def mojo_naive_dist(a: Tensor[DType.float64], b: Tensor[DType.float64]) -> Float64:
15.    var s: Float64 = 0.0
16.    n = a.num_elements()
17.    for i in range(n):
18.       dist = a[i] - b[i]
19.       s += dist*dist
20.    return sqrt(s)

23> fn mojo_fn_dist(a: Tensor[DType.float64], b: Tensor[DType.float64]) -> Float64:
24.    var s: Float64 = 0.0
25.    let n = a.num_elements()
26.    for i in range(n):
27.       let dist = a[i] - b[i]
28.       s += dist*dist
29.    return sqrt(s)
30.
31> let naive_dist = mojo_naive_dist(a, b)
32. let fn_dist = mojo_fn_dist(a, b)
33. print(fn_dist)
34. 
1290.8521425092235
35. print(naive_dist)
36. 
1290.8521425092235
此外,Mojo 支持構(gòu)建靜態(tài)編譯的可執(zhí)行文件,開(kāi)發(fā)者可以在沒(méi)有任何依賴項(xiàng)的情況下進(jìn)行部署。例如直接從官方的示例 repo 中編譯并運(yùn)行 hello. 程序,代碼如下所示:
$ mojo build hello.

$ ./hello
Hello Mojo !
9
6
3

$ ls -lGtranh hello*
-rw-r--r-- 1 0   817 Sep  3 23:59 hello.


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11292

    瀏覽量

    209328
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136688
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30728

    瀏覽量

    268886
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1942

    瀏覽量

    34707
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4792

    瀏覽量

    84627

原文標(biāo)題:Mojo編程語(yǔ)言開(kāi)放下載,聲稱比Python快68000倍

文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    對(duì)比Python與Java編程語(yǔ)言

    Python與Java都是目前非常流行的編程語(yǔ)言,它們各有其獨(dú)特的優(yōu)勢(shì)和適用場(chǎng)景。以下是對(duì)這兩種編程語(yǔ)言的對(duì)比: 一、語(yǔ)法和易用性
    的頭像 發(fā)表于 11-15 09:31 ?288次閱讀

    NPU支持的編程語(yǔ)言有哪些

    NPU(Neural Processing Unit)是一種專門為深度學(xué)習(xí)和人工智能應(yīng)用設(shè)計(jì)的處理器。NPU支持的編程語(yǔ)言通常與它所集成的平臺(tái)或框架緊密相關(guān)。以下是一些常見(jiàn)的編程語(yǔ)言
    的頭像 發(fā)表于 11-15 09:21 ?605次閱讀

    Python編程:處理網(wǎng)絡(luò)請(qǐng)求的代理技術(shù)

    在網(wǎng)絡(luò)編程中,代理技術(shù)扮演著至關(guān)重要的角色,尤其在處理網(wǎng)絡(luò)請(qǐng)求時(shí)。通過(guò)代理服務(wù)器,我們可以實(shí)現(xiàn)請(qǐng)求的轉(zhuǎn)發(fā)、緩存、負(fù)載均衡以及安全控制等功能。Python作為一種功能強(qiáng)大的編程語(yǔ)言,為提
    的頭像 發(fā)表于 11-12 07:23 ?184次閱讀

    Orin芯片的編程語(yǔ)言支持

    語(yǔ)言支持 Orin芯片支持多種編程語(yǔ)言,以滿足不同開(kāi)發(fā)者的需求。其中,C/C++和Python是兩種廣泛應(yīng)用的編程
    的頭像 發(fā)表于 10-27 16:45 ?269次閱讀

    labview是什么編程語(yǔ)言寫的

    的一種圖形化編程語(yǔ)言。它并不是用傳統(tǒng)的文本編程語(yǔ)言(如C++、Python等)編寫的,而是采用了一種獨(dú)特的圖形化
    的頭像 發(fā)表于 09-04 16:00 ?868次閱讀

    倉(cāng)頡語(yǔ)言書籍申請(qǐng)

    有接觸過(guò)其它的語(yǔ)言,主要是pythonpython用于機(jī)器學(xué)習(xí),數(shù)據(jù)分析是能滿足使用,但是用于開(kāi)發(fā)其他的東西就不能滿足了,我現(xiàn)在想學(xué)習(xí)另外一種語(yǔ)言,用于開(kāi)發(fā)一些硬件,之前有考慮過(guò)學(xué)C
    發(fā)表于 08-06 08:37

    pytorch和python的關(guān)系是什么

    在當(dāng)今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語(yǔ)言之一。Python的易學(xué)易用、豐富的庫(kù)和框架以及強(qiáng)大的社區(qū)支持,使其成為了數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等領(lǐng)域的首選
    的頭像 發(fā)表于 08-01 15:27 ?1885次閱讀

    Python建模算法與應(yīng)用

    Python作為一種功能強(qiáng)大、免費(fèi)、開(kāi)源且面向?qū)ο蟮?b class='flag-5'>編程語(yǔ)言,在科學(xué)計(jì)算、數(shù)學(xué)建模、數(shù)據(jù)分析等領(lǐng)域展現(xiàn)出了卓越的性能。其簡(jiǎn)潔的語(yǔ)法、對(duì)動(dòng)態(tài)輸入的支持以及解釋性語(yǔ)言的本質(zhì),使得
    的頭像 發(fā)表于 07-24 10:41 ?527次閱讀

    Python語(yǔ)言基礎(chǔ)2

    電子發(fā)燒友網(wǎng)站提供《Python語(yǔ)言基礎(chǔ)2.rar》資料免費(fèi)下載
    發(fā)表于 07-17 17:23 ?1次下載

    opencv-python和opencv一樣嗎

    的。以下是對(duì)OpenCV和OpenCV-Python的比較: 編程語(yǔ)言: OpenCV是一個(gè)跨平臺(tái)的庫(kù),支持多種編程語(yǔ)言,如C++、Java
    的頭像 發(fā)表于 07-16 10:38 ?1160次閱讀

    使用Python進(jìn)行自然語(yǔ)言處理

    在探討使用Python進(jìn)行自然語(yǔ)言處理(NLP)的廣闊領(lǐng)域時(shí),我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優(yōu)勢(shì),以及如何通過(guò)Python實(shí)現(xiàn)一些基礎(chǔ)的NLP任務(wù)
    的頭像 發(fā)表于 07-04 14:40 ?441次閱讀

    華為云正式發(fā)布CodeArts IDE for Python

    近日,華為云正式發(fā)布CodeArts IDE for Python,這是一款內(nèi)置華為自主創(chuàng)新的Python語(yǔ)言服務(wù),提供智能編程、靈活調(diào)試能力的可擴(kuò)展桌面開(kāi)發(fā)工具,為華為云開(kāi)發(fā)者提供卓
    的頭像 發(fā)表于 05-08 14:58 ?490次閱讀

    教你一招,簡(jiǎn)化儀器Python編程控制!

    許多行業(yè)的工程師都使用自動(dòng)化來(lái)擴(kuò)展其測(cè)試儀器的功能,而大多是選擇免費(fèi)的編程語(yǔ)言——Python來(lái)完成。作為適用于自動(dòng)化的主要編程語(yǔ)言
    的頭像 發(fā)表于 03-15 14:31 ?2325次閱讀
    教你一招,簡(jiǎn)化儀器<b class='flag-5'>Python</b><b class='flag-5'>編程</b>控制!

    四種編程語(yǔ)言之間的區(qū)別和聯(lián)系

    編程語(yǔ)言是一種人與計(jì)算機(jī)之間進(jìn)行交流的方式,不同的編程語(yǔ)言有著不同的特點(diǎn)和用途。本文將對(duì)四種常見(jiàn)的編程語(yǔ)
    的頭像 發(fā)表于 02-05 14:16 ?1548次閱讀

    c語(yǔ)言,c++,java,python區(qū)別

    C語(yǔ)言、C++、Java和Python是四種常見(jiàn)的編程語(yǔ)言,各有優(yōu)點(diǎn)和特點(diǎn)。 C語(yǔ)言: C語(yǔ)言
    的頭像 發(fā)表于 02-05 14:11 ?2361次閱讀
    RM新时代网站-首页