Mojo 是 Modular AI 公司開發(fā)的新編程語言,它結(jié)合了 Python 的易用性以及 C 語言的可移植性和性能,目標(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 編程語言。
從 2005 年 7 月到 2017 年 1 月間,他曾領(lǐng)導(dǎo)蘋果的開發(fā)者工具部門,隨后,曾短暫領(lǐng)導(dǎo)過特斯拉的自動(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í)和編程語言工作。
今年 5 月,Modular AI 向外界公布了 Mojo。據(jù)稱自 Mojo 亮相以來,超過 12 萬開發(fā)者注冊使用了 Mojo Playground,另外還有 19 萬開發(fā)者參與 Discord 與 GitHub 討論。Modular AI 公司更是在上月底宣布融資 1 億美元。



-
mojo 驅(qū)動(dòng):提供 shell 用于 read-eval-print-loop 或 REPL 的 shell,支持構(gòu)建和運(yùn)行 Mojo 程序、打包 Mojo 模塊(包括對 擴(kuò)展的支持)、生成文檔和格式化代碼?
-
VS Code 擴(kuò)展:支持多項(xiàng)生產(chǎn)力功能,例如語法高亮顯示、自動(dòng)補(bǔ)全代碼等 ?
-
Jupyter kernel:支持構(gòu)建和運(yùn)行 Mojo notebooks,包括 Python 代碼??
-
調(diào)試工具(即將推出):進(jìn)入并檢查正在運(yùn)行的 Mojo 程序,甚至包括混合 C++ 和 Mojo 代碼的框架


$ 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í)行文件,開發(fā)者可以在沒有任何依賴項(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.
-
Linux
+關(guān)注
關(guān)注
87文章
11512瀏覽量
213908 -
C語言
+關(guān)注
關(guān)注
180文章
7632瀏覽量
141859 -
AI
+關(guān)注
關(guān)注
88文章
35194瀏覽量
280265 -
編程語言
+關(guān)注
關(guān)注
10文章
1956瀏覽量
36703 -
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86826
原文標(biāo)題:Mojo編程語言開放下載,聲稱比Python快68000倍
文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
跟老齊學(xué)Python:從入門到精通
gitee 支持的編程語言有哪些
編程語言在人工智能中的使用
對比Python與Java編程語言
NPU支持的編程語言有哪些
Python編程:處理網(wǎng)絡(luò)請求的代理技術(shù)
Orin芯片的編程語言支持
Python中多線程和多進(jìn)程的區(qū)別

評論