龙空技术网

llama2.mojo比llama2.c快20%,最年轻的语言Mojo惊艳开发者社区

机器之心Pro 2475

前言:

现在咱们对“c语言文件如何转换为可执行文件”大体比较珍视,我们都需要剖析一些“c语言文件如何转换为可执行文件”的相关知识。那么小编同时在网络上收集了一些关于“c语言文件如何转换为可执行文件””的相关内容,希望你们能喜欢,姐妹们一起来学习一下吧!

机器之心报道

编辑:梓文

你听说过 Mojo 的「传奇色彩」吗?

如果说 Python 是最流行的语言,C 语言是最经典的语言,那么 Mojo 也有它的之最 —— 最年轻。Mojo 能够与 Python 无缝衔接,它的出世被称作为「几十年来最大的编程进步」。

图源:

自 5 月 Mojo 推出以来,已经有超过 12 万的开发者注册使用 Mojo Playground,并有超过 1.9 万的开发者在 Discord 和 GitHub 上积极讨论 Mojo。9 月 7 日,Modular 公司宣布 Mojo 可以在本地下载。Mojo 最初的目标是比 Python 快 35000 倍,近日该团队表示,Mojo 将动态与静态语言的优点结合起来,一举将性能提升达 Python 的 68000 倍。

Mojo

Mojo 是一种面向 AI 开发人员的新编程语言,它已经支持与任意 Python 代码无缝集成,并将成长为 Python 的超集。让我们回顾一下 Mojo 的「魅力」。

用一种语言编写所有内容:Mojo 可满足 AI 开发人员的需求,将 Python 的易用性与系统编程功能相结合。这使研究和部署团队可以在一个共同的代码库中工作,从而简化工作流程。释放 Python 性能:Python 无处不在,但对于需要高性能或特殊硬件的任务来说,Python 并非最适合的工具。Mojo 可在 CPU 上实现高性能,并支持 GPU 和 ASIC 等特殊加速器,提供与 C++ 和 CUDA 不相上下的性能。访问整个 Python 生态系统:Mojo 提供了与 Python 生态系统的完全互操作性,可以无缝使用 Python 库,同时利用 Mojo 的功能和性能优势。

Mojo 本地下载所提供的工具箱也可以让开发者更轻松地上手。首次发布的 Mojo SDK 包含了以下工具:

Mojo 驱动程序:提供 shell(用于读取 - 评估 - 打印 - 循环或 REPL),允许构建和运行 Mojo 程序、打包 Mojo 模块、生成文档和格式化代码‍。Visual Studio Code (VS Code) 的扩展:支持语法高亮、代码自动补全等多种功能‍Jupyter 内核:支持构建和运行 Mojo 笔记本,包括 Python 代码 ‍调试支持(即将推出):进入并检查运行中的 Mojo 程序,甚至可以混合使用 C++ 和 Mojo 堆栈帧

就在近日,一位 Mojo 社区成员将 Python 程序移植到 Mojo,效果如何?

llama.mojo

项目地址:

随着 Mojo 的发布,这位 Mojo 社区成员受到启发,将在 Python 上移植的 llama2.py 移植到了 Mojo 上。它已经比 Karpathy 的 llama.c 快了 20%。而这并不是速度的终点,未来可能会更快。

llama2.py、llama2.c、llama2.mojo 的直观对比

这个版本利用了 Mojo 的 SIMD 和矢量化原语,将 Python 的性能提高了近 250 倍。即使在快速运行模式下,Mojo 版本的性能也比原来的 llama2.c 高出 15-20%。这展示了通过 Mojo 高级功能进行硬件级优化的潜力。这有助于大家了解在原有 llama2.c 硬件优化的基础上还能走多远。

性能数据对比

当然,这位成员也公布了操作系统与硬件细节。

看到这样的性能比较,网友们纷纷感慨,Mojo 的确展现了自己的「实力」。

但是也有网友提出了不一样的看法,或是另一个探索方向。

Llama.c 不是为了快速运行而调优的,而是为了理解一个文件中的代码。它 llama.cpp 比起来会是怎样?

Mojo 与他的背后「大佬」

Modular AI 于 2022 年创立,旨在重建全球 ML 基础设施,它由 LLVM 和 Swift 编程语言的联合创始人 Chris Lattner 创办,并在此前刚获得 1 亿美元融资。Chris Lattner 表示,融资将用于产品扩展、硬件支持和推动自研 AI 编程语言 Mojo 的进一步发展。

Chris Lattner

Chris Lattner 毕业于波特兰大学的计算机科学系,具有创建和领导多个知名大型项目的经验,其中包括 LLVM、Clang、MLIR 和 CIRCT 等编译器基础设施项目,他还带头创建了 Swift 编程语言。他曾在苹果的开发者工具部门任职,还担任过特斯拉副总裁。2017 年 8 月,他 任 Google Brain 团队领导了 TensorFlow 基础设施工作,包括一系列硬件支持(CPU、GPU、TPU),底层运行时和编程语言工作。

在 llama.mojo 的性能对比发布后,Chris Lattner 在推特上感慨到,这离 Mojo 可本地下载只隔了三天。

参考链接:

标签: #c语言文件如何转换为可执行文件 #c语言是机器语言吗