Mojo 1.0 Beta
摘要
Modular 宣布推出 Mojo 1.0 Beta,这是一种高性能编程语言,将 Python 的易用性与编译型语言的速度相结合,专为 AI 和系统编程设计。
暂无内容
查看缓存全文
缓存时间: 2026/05/08 08:27
# Mojo 源码: https://mojolang.org/ > 完整的 Mojo 文档索引,请参阅 llms.txt (https://mojolang.org/llms.txt)。所有页面的 Markdown 版本均可通过在任何 URL 后附加 .md 获取(例如 /docs/manual/basics.md)。
## 与众不同
现代 Mojo 从现代语言的精华中汲取灵感——如 Python 直观的语法、Rust 的内存安全性,以及 Zig 强大且直观的编译时元编程。
## 原生 AI
Mojo 从底层构建,旨在为驱动现代 AI 系统的多样化硬件提供最佳性能。作为一种已编译的静态类型语言,它也非常适合智能体编程(agentic programming)。
## 纯粹高性能
无需再在生产力与性能之间做出选择——Mojo 两者兼备。你可以从简单且熟悉的编程模式入手,并在需要时增加复杂性。
## GPU 编程
Mojo 让所有人都能轻松进行 GPU 编程,无需特定供应商的库,也无需单独编译的代码。你终于可以用同一种语言编写用于 CPU 和 GPU 的高性能内核。
```mojo
def vector_add(
a: TileTensor[float_dtype, type_of(layout), element_size=1, ...],
b: TileTensor[float_dtype, type_of(layout), element_size=1, ...],
result: TileTensor[
mut=True, float_dtype, type_of(layout), element_size=1, ...
],
):
var i = global_idx.x
if i < layout.size():
result[i] = a[i] + b[i]
```
## Python 互操作性
Mojo 原生支持与 Python 互操作,因此你无需重写所有代码即可消除现有代码中的性能瓶颈。你可以从一个函数开始,并根据需要逐步扩展,将性能关键型代码迁移到 Mojo。你的 Mojo 代码可以自然导入 Python 并打包以便分发。同样,你也可以将 Python 生态中的库导入你的 Mojo 代码中。
```mojo
# SIMD-vectorized kernel squaring array elements in place.
def mojo_square_array(array_obj: PythonObject) raises:
comptime simd_width = simd_width_of[DType.int64]()
ptr = array_obj.ctypes.data.unsafe_get_as_pointer[DType.int64]()
def pow[width: Int](i: Int) unified {mut ptr}:
elem = ptr.load[width=width](i)
ptr.store[width=width](i, elem * elem)
vectorize[simd_width](len(array_obj), pow)
```
## 编译时元编程
Mojo 的元编程与运行时代码使用相同的语言,提供了一套直观的系统以最大化性能。你可以通过条件编译构建特定硬件的优化,通过编译时求值确保内存安全,消除昂贵的运行时分支等——这一切都具备清晰定义的意图和零成本抽象。
```mojo
# Generic struct equality using compile-time reflection.
@always_inline
def __eq__(self, other: Self) -> Bool:
comptime r = reflect[Self]()
comptime names = r.field_names()
comptime types = r.field_types()
comptime for i in range(names.size):
comptime T = types[i]
comptime assert conforms_to(T, Equatable), "All fields must be Equatable"
if trait_downcast[Equatable](
r.field_ref[i](self)
) != trait_downcast[Equatable](r.field_ref[i](other)):
return False
return True
```
## 路线图
Mojo 诞生于 2022 年底,已经取得了长足的进步,但仍有许多工作要做。
**第一阶段**
实现核心解析器,定义内存类型、函数、结构体、初始化器、参数约定以及其他语言基础。
**第二阶段:高性能 CPU + GPU 编程**
使 Mojo 成为一种强大且富有表现力的语言,用于在 CPU、GPU 和 ASIC 上编写高性能内核,同时让开发者能够无缝扩展 Python。
**第三阶段:系统应用程序编程**
扩展 Mojo 以支持更多应用程序级编程,提供有保障的内存安全模型以及开发者在系统编程中所期望的更多抽象特性。
**第四阶段:动态面向对象编程**
支持更多 Python 的动态特性,如类、继承和无类型变量,以最大化与 Python 代码的兼容性。
## 开源
Mojo 标准库已在 GitHub 上完全开源 (https://github.com/modular/modular/tree/main/mojo/stdlib),我们欢迎贡献!我们也计划于 2026 年开源 Mojo 编译器。我们承诺将 Mojo 全部开源,但该语言仍然非常年轻,我们认为拥有一致愿景的紧密工程师团队比社区驱动的努力进展更快。如果你想参与其中,请加入我们的开发者社区! (https://mojolang.org/community/)
相似文章
Mojo v1.0.0b1
Mojo,Modular 推出的高性能编程语言,已发布 1.0.0 beta 1 版本。
XiaomiMiMo/MiMo-V2.5-Pro
小米发布了 MiMo-V2.5-Pro,这是一个开源的 MoE 语言模型,拥有 1.02T 总参数和 1M token 上下文长度,专为复杂的智能体(Agent)和软件工程任务进行了优化。
MuJoCo – 高级物理仿真引擎
Google DeepMind 维护的 MuJoCo 是一款高性能开源物理引擎,提供 C/Python API 与 Unity 插件,专为机器人与机器学习研究设计。
Python 中更快的物理模拟
OpenAI 开源 mujoco-py,一个使用 MuJoCo 引擎的高性能 Python 机器人模拟库,具有无头 GPU 渲染和 VR 交互支持,性能提升约 40 倍。
OpenAI o1 和开发者新工具
OpenAI 向 API 发布 o1 模型,具备生产就绪的功能,包括函数调用、结构化输出、视觉能力,以及比 o1-preview 低 60% 的延迟。其他开发者工具包括 Realtime API 改进、偏好微调,以及新的 Go 和 Java SDK。