IT之家 9 月 8 日消息,Mojo 是 Modular AI 公司開發(fā)的一種編程語言,專門面向 AI 設(shè)計,號稱比 Python 快 68000 倍。
官方今日宣布,Mojo 現(xiàn)已開放本地下載運行,除了編譯器之外,Mojo SDK 還包括一整套開發(fā)者和 IDE 工具,可以用于構(gòu)建和迭代 Mojo 應(yīng)用。
Modular AI 表示,自 5 月 2 日推出 Mojo 編程語言以來,已有超過 12 萬開發(fā)者注冊使用 Mojo Playground,超過 1.9 萬開發(fā)者在 Discord 和 GitHub 上積極討論 Mojo。
Mojo 現(xiàn)在可供本地下載,不過目前只有 Linux 系統(tǒng)版本,官方承諾會在即將發(fā)布的版本中添加 macOS 和 Windows 系統(tǒng)支持。
據(jù)介紹,Mojo 是一種用于計算的高性能“Python++”編程語言,面向 AI 開發(fā)人員推出,隨著時間的推移,它將發(fā)展成為 Python 的超集。
目前,Mojo 已經(jīng)支持與任意 Python 代碼無縫集成,并具有可擴展的編程模型來針對性能關(guān)鍵型系統(tǒng),包括人工智能中普遍存在的加速器(例如 GPU)。
此外,IT之家在博客中注意到,Mojo 號稱將動態(tài)和靜態(tài)語言的優(yōu)點結(jié)合在一起,性能可達到目前 Python 的 68,000 倍,還提供與 Python 生態(tài)系統(tǒng)的完全互操作性,從而可以無縫使用 Python 庫。
以下為使用 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.821425092235 35. print(naive_dist) 36. 1290.8521425092235
此外,Mojo 允許開發(fā)者構(gòu)建靜態(tài)編譯的可執(zhí)行文件,可以在沒有任何依賴項的情況下進行部署,例如:
$ mojo build hello.?? $ ./hello Hello Mojo ??! 9 6 3 $ ls -lGtranh hello* -rw-r--r-- 1 0 817 Sep 3 23:59 hello.?? -rwxr-xr-x 1 0 22K Sep 3 23:59 hello
Mojo 還擁有 Visual Studio Marketplace 的官方擴展,支持語法高亮、語句診斷、格式化、補全建議等。
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。