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 億美元。
9 月 7 日,Modular AI宣布Mojo正式開放下載,這意味著開發者可以在本地使用 Mojo 進行開發 ——目前僅支持 Linux,官方表示會盡快推出 Mac 和 Windows 版本。根據公告,官方提供了編譯器和 Mojo SDK。其中 Mojo SDK 還包括全套開發者和 IDE 工具 ,用于輕松構建和迭代 Mojo 應用程序。
下面是 Mojo SDK 包含的工具概覽。
-
mojo 驅動:提供 shell 用于 read-eval-print-loop 或 REPL 的 shell,支持構建和運行 Mojo 程序、打包 Mojo 模塊(包括對 擴展的支持)、生成文檔和格式化代碼?
-
VS Code 擴展:支持多項生產力功能,例如語法高亮顯示、自動補全代碼等 ?
-
Jupyter kernel:支持構建和運行 Mojo notebooks,包括 Python 代碼??
-
調試工具(即將推出):進入并檢查正在運行的 Mojo 程序,甚至包括混合 C++ 和 Mojo 代碼的框架
最近開發團隊刷新了自己的成績,他們表示Mojo 將動態和靜態語言的優點結合在一起,性能可達到目前 Python 的 68000 倍。
▲ 好一個 Python++這很難評,各位自行下載來玩一玩吧:https://developer.modular.com/示例代碼跟 Python 一樣,可以通過運行 mojo 命令在 REPL 中進行編程。下面是使用 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
+關注
關注
88文章
11760瀏覽量
219036 -
C語言
+關注
關注
183文章
7644瀏覽量
145599 -
AI
+關注
關注
91文章
39793瀏覽量
301414 -
編程語言
+關注
關注
10文章
1964瀏覽量
39573 -
python
+關注
關注
57文章
4876瀏覽量
90033
原文標題:Mojo編程語言開放下載,聲稱比Python快68000倍
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
在Python中借助NVIDIA CUDA Tile簡化GPU編程
NVIDIA CUDA 13.1 版本新增了基于 Tile 的GPU 編程模式。它是自 CUDA 發明以來 GPU 編程最核心的更新之一。借助 GPU tile kernels,可以用比 SIMT
2025年最佳的嵌入式編程語言有哪些呢?
嵌入式系統是現代科技不可或缺的一部分。它們存在于家用電器、汽車、住宅、醫院、商店等各個領域。它們與我們的社會緊密相連。選擇合適的語言來構建嵌入式系統對于成功至關重要。那么,2025年最佳的嵌入式編程
Linux 編程語言盤點:從內核到AI的全棧選擇
在工控圈和嵌入式圈里,有一個常年被討論的問題: ?“在 Linux 上,到底該用什么語言編程?” 有人堅信:C 才是真正的工業語言。有人反駁:Python 才是效率王者。還有人推崇 G
termux調試python猜數字游戲
用termux做一個猜數字游戲
下面是在Termux中創建猜數字游戲的步驟及完整實現方案,結合Python實現(最適配Termux環境):
? 一、環境準備(Termux基礎配置)
1.
發表于 08-29 17:15
C++ 與 Python:樹莓派上哪種語言更優?
Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯網項目中同樣廣受歡迎且功能強大。那么,在樹莓派項目中選擇哪種語言更合適呢?
基礎篇3:掌握Python中的條件語句與循環
在Python編程語言中,條件語句和循環是構成復雜邏輯和數據處理的基石。本篇基礎教程將幫助您深入了解Python中的條件語句和循環結構,讓您能夠更好
發表于 07-03 16:13
跟老齊學Python:從入門到精通
礎的學習者介紹一門時下比較流行、并且用途比較廣泛的編程語言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關,但與學習者未來程序員職業生涯有關的內容。
獲
發表于 06-03 16:10
python入門圣經-高清電子書(建議下載)
此資料內容是一本針對所有層次的Python 讀者而作的Python 入門電子書。
全書分兩部分:第一部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumP
發表于 04-10 16:53
Python在嵌入式系統中的應用場景
你想把你的職業生涯提升到一個新的水平?Python在嵌入式系統中正在成為一股不可缺少的新力量。盡管傳統上嵌入式開發更多地依賴于C和C++語言,Python的優勢在于其簡潔的語法、豐富的庫和快速的開發周期,這使得它在某些嵌入式場景
比python更好的語言?聲稱比Python快68000倍 Mojo編程語言開放下載
評論