Mojo 是 Modular AI 公司開發的新編程語言,它結合了 Python 的易用性以及 C 語言的可移植性和性能,目標是使其成為 AI 研究和生產的理想選擇。 Modular AI 是 Chris Lattner 和 Tim Davis 于 2022 年創立的公司,目標是自下而上重建全球 ML 基礎設施。在這家新生的創業公司中,Chris Lattner 以 CEO 身份領導團隊。
Chris Lattner 畢業于波特蘭大學的計算機科學系,具有創建和領導多個知名大型項目的經驗,其中包括 LLVM、Clang、MLIR 和 CIRCT 等編譯器基礎設施項目,他還帶頭創建了 Swift 編程語言。
從 2005 年 7 月到 2017 年 1 月間,他曾領導蘋果的開發者工具部門,隨后,曾短暫領導過特斯拉的自動駕駛團隊。2017 年 8 月,Chris Lattner 在 Google Brain 團隊領導了 TensorFlow 基礎設施工作,包括一系列硬件支持(CPU、GPU、TPU),底層運行時和編程語言工作。
今年 5 月,Modular AI 向外界公布了 Mojo。據稱自 Mojo 亮相以來,超過 12 萬開發者注冊使用了 Mojo Playground,另外還有 19 萬開發者參與 Discord 與 GitHub 討論。Modular AI 公司更是在上月底宣布融資 1 億美元。



-
mojo 驅動:提供 shell 用于 read-eval-print-loop 或 REPL 的 shell,支持構建和運行 Mojo 程序、打包 Mojo 模塊(包括對 擴展的支持)、生成文檔和格式化代碼?
-
VS Code 擴展:支持多項生產力功能,例如語法高亮顯示、自動補全代碼等 ?
-
Jupyter kernel:支持構建和運行 Mojo notebooks,包括 Python 代碼??
-
調試工具(即將推出):進入并檢查正在運行的 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 支持構建靜態編譯的可執行文件,開發者可以在沒有任何依賴項的情況下進行部署。例如直接從官方的示例 repo 中編譯并運行 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
+關注
關注
87文章
11465瀏覽量
212817 -
C語言
+關注
關注
180文章
7630瀏覽量
140450 -
AI
+關注
關注
87文章
34274瀏覽量
275453 -
編程語言
+關注
關注
10文章
1955瀏覽量
36130 -
python
+關注
關注
56文章
4825瀏覽量
86211
原文標題:Mojo編程語言開放下載,聲稱比Python快68000倍
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
跟老齊學Python:從入門到精通
礎的學習者介紹一門時下比較流行、并且用途比較廣泛的編程語言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關,但與學習者未來程序員職業生涯有關的內容。
獲
發表于 06-03 16:10
gitee 支持的編程語言有哪些
Gitee 支持的常見編程語言: Python :一種廣泛使用的高級編程語言,以其清晰的語法和代碼可讀性而聞名。 Java :一種面向對象
對比Python與Java編程語言
Python與Java都是目前非常流行的編程語言,它們各有其獨特的優勢和適用場景。以下是對這兩種編程語言的對比: 一、語法和易用性
NPU支持的編程語言有哪些
NPU(Neural Processing Unit)是一種專門為深度學習和人工智能應用設計的處理器。NPU支持的編程語言通常與它所集成的平臺或框架緊密相關。以下是一些常見的編程語言和
Python編程:處理網絡請求的代理技術
在網絡編程中,代理技術扮演著至關重要的角色,尤其在處理網絡請求時。通過代理服務器,我們可以實現請求的轉發、緩存、負載均衡以及安全控制等功能。Python作為一種功能強大的編程語言,為提
pytorch和python的關系是什么
在當今的人工智能領域,Python已經成為了最受歡迎的編程語言之一。Python的易學易用、豐富的庫和框架以及強大的社區支持,使其成為了數據科學、機器學習和深度學習等領域的首選
Python建模算法與應用
Python作為一種功能強大、免費、開源且面向對象的編程語言,在科學計算、數學建模、數據分析等領域展現出了卓越的性能。其簡潔的語法、對動態輸入的支持以及解釋性語言的本質,使得
opencv-python和opencv一樣嗎
的。以下是對OpenCV和OpenCV-Python的比較: 編程語言: OpenCV是一個跨平臺的庫,支持多種編程語言,如C++、Java
使用Python進行自然語言處理
在探討使用Python進行自然語言處理(NLP)的廣闊領域時,我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優勢,以及如何通過Python實現一些基礎的NLP任務
如何使用Python進行神經網絡編程
。 為什么使用Python? Python是一種廣泛使用的高級編程語言,以其易讀性和易用性而聞名。Python擁有強大的庫,如TensorF
評論