Echo

Echo 关注TA

大家好,我是Echo!

Echo

Echo

关注TA

大家好,我是Echo!

  •  普罗旺斯
  • 自由职业
  • 写了280,188,280字

最近回复

该文章投稿至Nemo社区   资讯  板块 复制链接


Mojo 编程语言开放下载:专为 AI 设计,号称比 Python 快 68000 倍

发布于 2023/09/08 15:52 105浏览 0回复 3,237

IT之家 9 月 8 日消息,Mojo 是 Modular AI 公司开发的一种编程语言,专门面向 AI  设计,号称比 Python 快 68000 倍

官方今日宣布,Mojo 现已开放本地下载运行,除了编译器之外,Mojo SDK 还包括一整套开发者和 IDE 工具,可以用于构建和迭代 Mojo 应用。

Modular AI 表示,自 5 月 2 日推出 Mojo 编程语言以来,已有超过 12 万开发者注册使用 Mojo Playground,超过 1.9 万开发者在 Discord 和 GitHub 上积极讨论 Mojo。

Mojo 现在可供本地下载,不过目前只有 Linux 系统版本,官方承诺会在即将发布的版本中添加 macOS 和 Windows 系统支持。

据介绍,Mojo 是一种用于计算的高性能“Python++”编程语言,面向 AI 开发人员推出,随着时间的推移,它将发展成为 Python 的超集。

目前,Mojo 已经支持与任意 Python 代码无缝集成,并具有可扩展的编程模型来针对性能关键型系统,包括人工智能中普遍存在的加速器(例如 GPU)。

此外,IT之家在博客中注意到,Mojo 号称将动态和静态语言的优点结合在一起,性能可达到目前 Python 的 68,000 倍,还提供与 Python 生态系统的完全互操作性,从而可以无缝使用 Python 库

以下为使用 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.821425092235
35. print(naive_dist)
36. 1290.8521425092235

此外,Mojo 允许开发者构建静态编译的可执行文件,可以在没有任何依赖项的情况下进行部署,例如:

$ 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

Mojo 还拥有 Visual Studio Marketplace 的官方扩展,支持语法高亮、语句诊断、格式化、补全建议等。

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。


本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/717/835.htm]

点赞(0)
点了个评