Mojo🔥编程语言开放下载,声称比 Python 快 68000 倍


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 刚发布时,官方介绍称它能够利用 MLIR,使 Mojo 开发者能够利用向量、线程和 AI 硬件单元。根据测试,Mojo 比 Python 快 35000 倍。

090234_JoEc_4937141.png

最近开发团队刷新了自己的成绩,他们表示 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 Sep3 23:59 hello.🔥
-rwxr-xr-x 1 0 22K Sep3 23:59 hello

相關推薦

2023-09-13

的llama2.c项目移植到了 Python ——llama2.py。 上周 Mojo 编程语言正式开放下载,并且声称比 Python 快 68000 倍。 于是 Aydyn Tairov 马不停蹄地就开始将llama2.py移植到 Mojo——llama2.mojo,结果非常出乎意料。 他表示,Mojo SIMD 原语

2023-10-21

的前两天),相约开源PHP办公室,我们一起聊 AI!>>> AI 编程语言 Mojo🔥 推出了支持 Mac 平台的版本,其创始人 Chris Lattner 称 Mojo + Apple Silicon 是强强联合,强上加强。 Mojo🔥 是 Modular AI 公司开发的新编程语言,它结合了

2023-05-05

望进一步提升。 除了 Python,Julia 也是不少开发者选择的编程语言,「Julia 是否会取代 Python」也是常常会被大家谈论的问题。 如今,这个领域又来了一个新的竞争者。 AI 基础设施公司 Modular AI 最近公布了一种新的编程语言 Moj

2023-05-06

Mojo 是 AI 基础设施公司 Modular AI 最近发布的编程语言,它结合了 Python 的语法以及 C 语言的可移植性和性能,目标是使其成为 AI 研究和生产的理想选择。 根据介绍,Mojo 不仅兼容 Python,还比它快 35000 倍。详情查看:AI 开发有了

2023-08-28

LIR 和 CIRCT 等编译器基础设施项目,他还带头创建了 Swift 编程语言。 从 2005 年 7 月到 2017 年 1 月间,他曾领导苹果的开发者工具部门,随后,曾短暂领导过特斯拉的自动驾驶团队。2017 年 8 月,Chris Lattner 在 Google Brain 团队领导

2022-11-02

五入为 0.09s。 尤雨溪认为,开源软件的竞争应该建立在开放的沟通、公平的比较和相互尊重的基础上。所以当他看到 Vercel 使用了精心挑选、未经同行评审、存在误导的数据来进行营销时,感到失望和担忧,因为这种场景通常

2021-12-22

式相互转化。 QOI 非常简洁,它源代码只有大约 300 行 C语言;文件格式规范也非常简短,只有一页PDF。但简短并不意味着简单,与 C/C++ 图像处理库 stb_image / stb_image_write 和 libpng 相比,QOI 的编码速度提高了100 倍,解码速度提

2023-08-02

Ruff 是基于 Rust 编写的高性能 Python 代码分析工具(即 Linter),用于检查代码中的语法错误、编码规范问题、潜在的逻辑问题和代码质量问题等,可以提供实时反馈和自动修复建议。其主打的特性是高性能,宣称比现有的同类工

2022-10-26

nbsp;—— Webpack 的新的基于 Rust 的继任者。 “Webpack 已被下载超过30 亿次。虽然它是构建 Web 不可或缺的一部分,但我们已经达到了基于 JavaScript 的工具所能达到的最大性能的极限。在 Next.js 12 中,我们开始过渡到 native Rust

2024-10-16

Python 3.13 上周正式发布了稳定版,主要变化包括一个新的交互式解释器、对在自由线程模式(无全局解释锁,no-GIL)下运行的实验性支持 (PEP 703),以及即时编译器 (PEP 744)。这些改进预计将带来性能的适度提升。 近日,开发

2023-08-02

向后不兼容的更改。所讨论的更改仅影响 C++ API。用其他语言编写的应用程序完全不受这一切的影响。 正式的 2.0 版本短时间内不会推出发布,或许也要等上几年。 更多详情可查看官方公告。

2022-05-19

在退休又复出加入微软的 Faster CPython 团队后, Python 之父 Guido van Rossum 在 2021 年 Python 语言峰会上放下狠话,称团队将在 Python 3.11 版本中实现至少提速 1 倍的进展。 而在今年的 Python 语言峰会上,Guido 和团队搭档 Mark Shannon 汇

2023-04-12

Pydantic V2 首个 alpha 版本已发布。Pydantic 是 Python 语言的开源类型规范和校验库,提供了强大的数据解析和验证功能,包括运行时强制类型提示、友好的错误消息和设置管理功能等。 发布公告写道,Pydantic V2 的最大变化是 pyda

2023-10-26

项评选已经延续了十多年。 此次上榜的 25 个软件涵盖编程语言、运行时、应用程序框架、数据库、分析引擎、机器学习库、大型语言模型 (LLM)、用于部署 LLM 的工具等领域,具体如下(点击每个项目名可跳转进入项目介绍页