全新编程语言Mojo,诞生了!

目录
文章目录隐藏
  1. 1、首先是性能方面
  2. 2、其次是互操作性方面
  3. 3、再者就是可扩展性方面

最近,编程领域又一个黑马忽然冲进了开发者们的视野并正式开放下载。

它的名字叫Mojo,相信有不少小伙伴最近也看到了。

Mojo 是为 AI 开发者所准备的编程语言,语法有点像 Python。

Mojo 是为 AI 开发者所准备的编程语言

根据 Mojo 官网的描述,它结合了 Python 的易用性和 C 语言的高性能,解锁了 AI 硬件的可编程性和 AI 模型的可扩展性。

Mojo 看起来好像挺能打,它到底是哪个公司所推出来的呢?

看了一下才发现 Mojo 是由人工智能公司 Modular 所推出的全新编程语言。

而 Modular 这个公司则是一个非常年轻的新生 AI 创业公司,于 2022 年由 Chris Lattner 和 Tim Davis 所创立。

Mojo 是由人工智能公司 Modular 所推出的全新编程语言

提到这两个创始人,相信有些同学也有所了解,都是业内顶级专家。其中 Chris Lattner 还被称为“LLVM 之父”和“Swift 之父”,在苹果、谷歌、特斯拉等多家知名科技巨头里曾带领构建了 AI 和核心系统。

Modular 公司的愿景非常宏伟,目标是自下而上重塑 AI 基础设施。

去年的时候,Modular AI 曾获得过 3000 万美金的融资。而就在前些天,Modular 又再次宣布成功融资 1 亿美金,这对于一个刚诞生不久的初创型公司而言可谓是成绩斐然。

Modular 又再次宣布成功融资 1 亿美金

另外在公司官网的投资者名单里能看到,不少 AI 领域的知名投资机构都有参与。

AI 领域的知名投资机构

Mojo 这个编程语言有几个比较明显的特点。

1、首先是性能方面

Mojo 充分利用硬件的特性和功能,包括多核、矢量单元和加速器单元,以及先进的编译器和异构运行时机制,在不增加复杂性的前提下实现了与 C++和 CUDA 相当的性能。

在并行化这一块,Mojo 利用 MLIR,使 Mojo 开发者能够充分利用向量、线程和 AI 硬件单元。

性能方面

2、其次是互操作性方面

大家都知道,发展到今天,Python 的生态极其繁荣,各种函数、库、框架、模型、工具等等数不胜数。

而 Mojo 则可以访问整个 Python 生态。比如使用 Mojo,可以在代码中无缝地接入和混合像 Numpy 和 Matplotlib 等库。

互操作性方面

3、再者就是可扩展性方面

可扩展性这块也是 Mojo 的优势。Mojo 可以升级用户模型中的已有操作,以便开发者可以使用预处理、后处理、自定义替换等操作来轻松地扩展用户的模型。

Mojo 最初发布于今年的 5 月初,上线数月以来就已形成基本规模和生态。

全新编程语言 Mojo,诞生了!

前不久,Modular 官网宣布Mojo 正式开放下载,首先是从 Linux 系统开始,并在后续的迭代版本中将陆续添加对 Mac 和 Windows 的支持。

这也意味着开发者可以通过 Mojo SDK 进行尝试并编写自己的 Mojo 代码。

Mojo 正式开放下载

而就在 Mojo 官宣可以下载后不久,一位名叫 Aydyn Tairov 开源作者就利用 Mojo 来做了一个突破性的尝试。

这个作者之前曾将 GitHub 上火热的由纯 C 实现的 llama2.c 项目移植到了基于 Python 的 llama2.py。

而这次 Aydyn Tairov 又将 llama2.py 移植到了 llama2.mojo,结果非常出乎意料,移植后性能提升了近 250 倍。

即便如此,作者仍然认为里面还有一些改进的空间。

看到 Mojo 如此的表现,有不少网友说 Python 这次可谓是遭遇了一个强大的对手,Mojo 甚至有可能在未来会取代 Python?

对此,公司 CEO Chris Lattner 直接回应称:

Mojo 并不会对 Python 造成威胁,相反,还会帮助 Python 开发者变得更强大。要担心的也不是 Python,而是 C++们。

Mojo 并不会对 Python 造成威胁

文章的最后也附上相关的页面,感兴趣的小伙伴可以尝试一下。

至于这门编程语言在接下来的 AI 时代会发展如何,我们可以拭目以待。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系maynote@foxmail.com处理
码云笔记 » 全新编程语言Mojo,诞生了!

发表回复