什么编程语言,敢号称是高性能版的“Python++”?
新语言 Mojo,来自 LLVM 之父和 Swift 之父 Chris Lattner,性能可达到目前版本 Python 的 68000 倍。
你没看错,几个月前团队还宣称是 35000 倍,换了台机器测评就成了 68000 倍。
现在,Mojo 终于开放编译器和完整本地开发环境的下载,首日就在开发社区引发轰动。
它语法像 Python 一样简单,跑起来像 C++ 一样快,更重要的是可以与任何 Python 库无缝交互。
由于 Numpy、Pandas、SciPy 这些大家已经熟悉的老朋友都能继续用,受到 AI 开发者的格外关注,英伟达科学家范麟熙表示:可能是 Python 生态系统多年来最重要的升级,等了很久,终于来了!
创始人:Mojo 对 Python 不是威胁,C++们应该害怕
Mojo 是如何做到比 Python 快这么多倍的?团队写了 3 篇技术解读,简单总结如下:
第 1 步,通过类型注释消除 Python 动态类型的损失,并做代数简化(algebraic simplifications),避免开方运算以及简化复数平方运算,达到89 倍加速。
第 2 步,通过向量化实现SIMD(单指令多数据)的并行计算,并让向量宽度以匹配 CPU 的 FMA(浮点乘法累加单元)数量,达到874 倍。
第 3 步,把前两步开发好的单线程实现改成多核并行化,对于 88 核的系统再获得 30 倍加速,与原始 Python 相比已经到了26000 倍。
第 4 步,解决并行化中的加载不均衡问题,让线程从池中动态获取任务,得到最终结果68000 倍。
这与之前宣传的 35000 倍不同,主要是中途换过一次测评基准系统,从 32 核的英特尔至强金牌 6455B 换成了 88 核的英特尔至强白金 8481C。
此前,Mojo 已可通过在线 Playground 形式试用,4 个月来已积攒120 万开发者。
这一次是 Mojo 编译器和 IDE 工具首次开放本地下载,从 Linux 开始,后续将添加 Mac 和 Windows 支持。
一同开放的还有支持语法高亮和代码补全等实用功能的VSCode 插件。
甚至可以像 Python 一样在Jupyter里交互式操作。
手快的网友已经在争相晒各种版本的“Hello world”。
对于“Python 会被取代吗这样的讨论”,Mojo 创始人 Chris Lattner 本人认为:Mojo 并不是对 Python 的威胁,而是给 Python 开发者增加超能力。
如果谁应该害怕,应该是 C++ 这种不易用的高速语言。
虽然 Mojo 很强大,但还是被网友发现一个“致命”缺点。
作为一门新语言,AI 们还没学会,想学习就得靠自己了。
不过应该也可以把文档发给 AI,让它现学试试?
背后公司 Modular 融资 1 亿美元
Chris Lattner 毕业于波特兰大学,领导了 LLVM、Clang 等知名编译器项目,并牵头开发苹果 Swift 语言。
2017 年离开苹果后,他先后在特斯拉短暂领导过自动驾驶 Autopilot 软件团队,在谷歌负责 Tensorflow 基础设施,在 RISC-V 架构的领军公司 SiFive 负责工程和产品团队。
2022 年,Lattner 作为“Swift 之父”却与当时的 Swift 核心团队发生冲突,退出管理事务,彻底分道扬镳。
也是在这一时期,他透露自己正在搞 AI 基础设施方向的创业。
新公司 Modular,致力于构建出模块化、可组合和分层架构的 AI 基础设施。
包括创建编译器、运行时环境,为异构计算设计、边缘和数据中心并重,并专注于可用性。
共同创始人 Tim Davis,此前在谷歌团队参与了 TF Lite、 Android ML、NNAPI 等项目的编译器开发。
2023 年 8 月,Modular 获得 1 亿美元融资,总融资额达 1.3 亿美元。
为 AI 开发者创建结合 Python 的可用性与 C++ 的性能的 Mojo 语言是其第一步。
今后在 Modular 创建的 AI 引擎中,所有代码都可以用 Mojo 一种语言编写,无需再使用C、C++或 CUDA 编程。
那么,你会尝试使用这款新语言么?