Mojo🔥编程语言开放下载,声称比 Python 快 68000 倍
Mojo 是 Modular AI 公司开发的新编程语言,它结合了 Python 的易用性以及 C 语言的可移植性和性能,目标是使其成为 AI 研究和生产的理想选择。
Modular AI 是 Chris Lattner 和 Tim Davis 于 2022 年创立的公司,目标是自下而上重建全球 ML 基础设施。在这家新生的创业公司中,Chris Lattner 以 CEO 身份领导团队。
Chris Lattner 毕业于波特兰大学的计算机科学系,具有创建和领导多个知名大型项目的经验,其中包括 LLVM、Clang、MLIR 和 CIRCT 等编译器基础设施项目,他还带头创建了 Swift 编程语言。
从 2005 年 7 月到 2017 年 1 月间,他曾领导苹果的开发者工具部门,随后,曾短暂领导过特斯拉的自动驾驶团队。2017 年 8 月,Chris Lattner 在 Google Brain 团队领导了 TensorFlow 基础设施工作,包括一系列硬件支持(CPU、GPU、TPU),底层运行时和编程语言工作。
今年 5 月,Modular AI 向外界公布了 Mojo。据称自 Mojo 亮相以来,超过 12 万开发者注册使用了 Mojo Playground,另外还有 19 万开发者参与 Discord 与 GitHub 讨论。Modular AI 公司更是在上月底宣布融资 1 亿美元。
9 月 7 日,Modular AI 宣布 Mojo 正式开放下载,这意味着开发者可以在本地使用 Mojo 进行开发——目前仅支持 Linux,官方表示会尽快推出 Mac 和 Windows 版本。
根据公告,官方提供了编译器和 Mojo SDK。其中 Mojo SDK 还包括全套开发者和 IDE 工具 ,用于轻松构建和迭代 Mojo 应用程序。
下面是 Mojo SDK 包含的工具概览。
- mojo 驱动:提供 shell 用于 read-eval-print-loop 或 REPL 的 shell,支持构建和运行 Mojo 程序、打包 Mojo 模块(包括对 🔥 扩展的支持)、生成文档和格式化代码
- VS Code 扩展:支持多项生产力功能,例如语法高亮显示、自动补全代码等
- Jupyter kernel:支持构建和运行 Mojo notebooks,包括 Python 代码
- 调试工具(即将推出):进入并检查正在运行的 Mojo 程序,甚至包括混合 C++ 和 Mojo 代码的框架
Mojo 刚发布时,官方介绍称它能够利用 MLIR,使 Mojo 开发者能够利用向量、线程和 AI 硬件单元。根据测试,Mojo 比 Python 快 35000 倍。
最近开发团队刷新了自己的成绩,他们表示 Mojo 将动态和静态语言的优点结合在一起,性能可达到目前 Python 的 68000 倍。
▲ 好一个 Python++
这很难评,各位自行下载来玩一玩吧:https://developer.modular.com/
示例代码
跟 Python 一样,可以通过运行 mojo 命令在 REPL 中进行编程。下面是使用 Mojo 计算欧几里得距离的代码:
$ mojo Welcome to Mojo! 🔥 Expressions are delimited by a blank line. Type `:mojo help` for further assistance. 1> %%python 2. import numpy as np 3. n = 10000000 4. anp = np.random.rand(n) 5. bnp = np.random.rand(n) 6> from tensor import Tensor 7. let n: Int = 10000000 8. var a = Tensor[DType.float64](n) 9. var b = Tensor[DType.float64](n) 10. for i in range(n): 11. a[i] = anp[i].to_float64() 12. b[i] = bnp[i].to_float64() 13> from math import sqrt 14. def mojo_naive_dist(a: Tensor[DType.float64], b: Tensor[DType.float64]) -> Float64: 15. var s: Float64 = 0.0 16. n = a.num_elements() 17. for i in range(n): 18. dist = a[i] - b[i] 19. s += dist*dist 20. return sqrt(s) 23> fn mojo_fn_dist(a: Tensor[DType.float64], b: Tensor[DType.float64]) -> Float64: 24. var s: Float64 = 0.0 25. let n = a.num_elements() 26. for i in range(n): 27. let dist = a[i] - b[i] 28. s += dist*dist 29. return sqrt(s) 30. 31> let naive_dist = mojo_naive_dist(a, b) 32. let fn_dist = mojo_fn_dist(a, b) 33. print(fn_dist) 34. 1290.8521425092235 35. print(naive_dist) 36. 1290.8521425092235
此外,Mojo 支持构建静态编译的可执行文件,开发者可以在没有任何依赖项的情况下进行部署。例如直接从官方的示例 repo 中编译并运行 hello.🔥 程序,代码如下所示:
$ mojo build hello.🔥 $ ./hello Hello Mojo 🔥! 9 6 3 $ ls -lGtranh hello* -rw-r--r-- 1 0 817 Sep 3 23:59 hello.🔥 -rwxr-xr-x 1 0 22K Sep 3 23:59 hello
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
微软官宣新的 Copilot 版权承诺
微软今天发布了新版 Copilot 版权承诺,并表示当用户因版权问题受到质疑时,微软将承担潜在的法律责任涉及的风险。 微软在公告写道,当客户询问他们是否可以使用 Microsoft 的 Copilot 服务及其生成的内容而不必担心版权索赔时。我们提供了一个简单的答案:是的,可以,如果您因版权问题受到质疑,我们将承担潜在的法律责任涉及的风险。 微软表示,新版承诺建立在微软此前的 AI 客户承诺基础之上,将把知识产权赔偿支持扩展到商业 Copilot 服务之中。如果客户在使用 Copilot 等产品时开启了内置的内容过滤器后仍然遭到侵犯版权起诉,微软将为客户辩护并支付因诉讼而产生的任何不利判决或和解金额。 微软表示,Copilot 版权承诺是一项重要承诺,支持任何使用 Copilot 产品的客户,同时也有助于保护人类创造的内容。 延伸阅读 GitHub Copilot 被指控以“降低查重”的方式避免版权指控 开源软件作者拿起律师执业证,准备起诉 GitHub Copilot GitHub 被 "GitHub Copilot" 倒逼成为开源项目?
- 下一篇
Ruby on Rails 作者 DHH 宣布 Turbo 8 将移除 TypeScript 代码
Ruby on Rails 作者 DHH 宣布移除其团队开源项目 Turbo 8 中的 TypeScript 代码。 相关 issue:https://github.com/hotwired/turbo/pull/971 Hotwire 是一种现代化的 Web 开发框架,它采用了一种名为 "HTML Over the Wire" 的方法来构建高效、实时交互的 Web 应用程序。Hotwire 框架由 Ruby on Rails 的创建者 David Heinemeier Hansson (DHH) 和 Basecamp 团队开发,旨在简化 Web 开发过程,减少对 JavaScript 的依赖,并提高 Web 应用程序的性能。 Turbo 是 Hotwire 框架的核心组件,负责提升 Web 应用程序的性能。 DHH 解释了做出这个决定的原因: TypeScript 对我来说只是阻碍。不仅因为它需要显式的编译步骤,还因为它用类型编程(原文使用'Type Gymnastics'一词)污染了代码,这给我的开发体验增添了很少的乐趣,而且常常带来相当大的悲伤。 DHH 此番决定在推特和 Git...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS关闭SELinux安全模块
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启