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

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

时间:2023-09-12 10:23:09浏览次数:40  
标签:LLVM 语言 Python AI 编译器 Mojo

比Python快6.8万倍,新语言Mojo首次开放下载,LLVM之父打造 投递人 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

标签:LLVM,语言,Python,AI,编译器,Mojo
From: https://www.cnblogs.com/sexintercourse/p/17695313.html

相关文章

  • python第一行
    python第一行一般python脚本的开通会写成#!/usr/bin/python这表示用/usr/bin目录下的这个python可执行文件来进行运行脚本当然如果你还安装了其他版本的python,可以将第一行指向python的可执行文件,比如#!/software/public/python/3.7.0/bin/python3.7or#!/software/public/......
  • Python - 网页自动化
    一、环境准备Selenium安装命令行安装pipinstallselenium浏览器驱动安装找到本地chrome的浏览器的版本查看谷歌浏览器的版本号下载相应版本的驱动器,chrome浏览器驱动下载地址:chromedriver.storage.googleapis.com/index.html下载完后,解压到本地的python的目......
  • datetime:Python日期与时间值管理计算
    前言datetime库也用于时间日期的处理,主要用于完成日期和时间的解析,格式化和算术运算。本篇,将完整的介绍datetime库的应用知识。datetime.date与time库一样,datetime库也有获取当前日期的类,日历日期值用datetime.date表示。比如datetime.date.today()。具体代码如下:importdate......
  • python中字符串内置函数find和index
     001、find>>>str1="xyabmnabkj"##测试字符串>>>foriinenumerate(str1):...print(i)##列出每个字符的索引...(0,'x')(1,'y')(2,'a')(3,'b')(4,'m'......
  • python实现五角星绘制
    功能需求使用python打印一个五角星功能分析1:使用python中的turtle模块2:创建一个新的turtle对象,然后设置画笔的颜色3:通过for循环画五条直线,并且每条直线都需要右转144度,因为一个五角星的内角是36度,而turtle默认的转向角度是90度,因此需要转180-36=144度才可以画出正常的五角星。4:最......
  • Python合并不同Word并同时添加多个分页符的方法
      本文介绍基于Python,实现对多个Word文档加以自动合并,并在每次合并时按要求增添一个分页符的方法。  现有多个Word文档文件,需将其按名称顺序合并为一个新的Word文件,且需保证每一次合并时,都另起一页(即新的Word文件一页中,不能出现两个及以上的原本单个Word文件的内容)。  一般......
  • python中的函数
    python函数一、函数的定义与调用1、函数的作用实现代码重用模块化编程(面向过程)用户到ATM机取款:输入密码后显示“选择功能”界面查询余额后显示“选择功能”界面取钱之后显示“选择功能”界面问:1、2、3操作之后都会显示选择功能界面,那么“选择功能”界面需要重复输出......
  • Python PIL 远程命令执行漏洞(via Ghostscript)
    目录1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞分析3、漏洞验证1.5、深度利用1、反弹Shell说明内容漏洞编号PIL-CVE-2018-16509漏洞名称PythonPIL远程命令执行漏洞漏洞评级影响范围漏洞描述修复方案1.1、漏洞......
  • Python PIL 远程命令执行漏洞(GhostButt )
    目录1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证1.5、深度利用1、反弹Shell说明内容漏洞编号PIL-CVE-2017-8291漏洞名称PIL远程命令执行漏洞漏洞评级影响范围漏洞描述修复方案1.1、漏洞描述PIL......
  • Python实现文章查重
    软件工程https://edu.cnblogs.com/campus/gdgy/CSGrade21-12作业要求https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13014作业目标个人项目github链接:https://github.com/momotaaa/3121004806题目:论文查重描述如下:设计一个论文查重算法,给出一......