比Python快6.8万倍,新语言Mojo首次开放下载,LLVM之父打造

发布时间 2023-09-12 10:21:38作者: 漫思
投递人 itwriter 发布于 2023-09-10 23:10 评论(5) 有428人阅读 原文链接 [收藏] « »

  梦晨发自凹非寺

  量子位公众号 QbitAI

  什么编程语言,敢号称是高性能版的“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 编程。

  那么,你会尝试使用这款新语言么?

  参考链接:

  [1]https://www.modular.com/blog/mojo-its-finally-here

  [2]https://www.modular.com/blog/mojo-a-journey-to-68-000x-speedup-over-python-part-3

  [3]https://x.com/DrJimFan/status/1699841214416318672