0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Meta开源Rust编写的高性能构建系统Buck2

OSC开源社区 来源:OSC开源社区 2023-04-14 17:04 次阅读

看来最近 Meta 的工程师是一点都没有闲着,前两天刚开源 AI 图像分割模型,这不就又发布了名为 Buck2 的开源构建系统。

Buck2 是一个已经在 Meta 内部使用了一段时间的大型构建系统,目前 Meta 有数千名开发人员正在使用该构建系统,每天执行数百万次的构建。在 Meta 的内部测试中,Buck2 完成构建的速度是 Buck1 的 2 倍。

虽然 Buck2 跟 Buck1 使用了相同的名称,也是 Buck1 构建系统的继任者,但前者并不是后者简单的升级版,Buck2 用 Rust 完全重写(Buck1 用的 Java),目标是使构建速度更快、更有效。

正因如此,Buck2 有一个单独的 GitHub 仓库和单独的官方网站,为的就是跟 Buck1 进行区分。

我们自己的内部分析表明,当 Buck2 执行构建时,工程师能够生成更多有意义的代码,我们希望更广泛的行业也能从中受益。

Buck2 的设计基于以下原则:

完全分离了核心规则和特定于语言的规则,将语言规则从核心中分离出来意味着规则更容易改变和理解。Buck2 的核心是用 Rust 编写的,它的语言规则(比如如何构建 C++)是用 Starlark 编写的。这种分离与 Buck1(所有规则都写在核心中)和 Bazel(C++/Java 写在核心中)形成对比。

构建系统消除了许多类型的错误并增加了并行性。

规则 API 被设计为包含先进的性能特征,以及动态依赖特征。

开源版本与 Meta 的内部版本几乎相同,唯一替换掉的部分是工具链(指向 Meta 编译器的内部副本)和远程执行(指向 Meta 内部服务器) —— 两者都提供了开源替代品。还发布了与内部使用完全相同的所有规则。

Buck2 的编写是为了与远程执行相结合,能够在远程机器上运行操作,使用与 Bazel 相同的 API,并且一直在用 Buildbarn 和 EngFlow 测试远程执行。

Buck2 还可以与虚拟文件系统集成。

上述所有这些更改都是想要帮助工程师和开发者减少等待时间,将更多时间用于迭代他们的代码。

目前 Buck2 为以下这些语言附带了对应的规则:Assembly、C/C++、Erlang、Go、Haskell、Java、JavaScript、Julia、OCaml、Python 和 Rust。开发者可以使用 Starlark 脚本语言,向 Buck2 添加或重新实现语言规则。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    29925

    浏览量

    268217
  • Meta
    +关注

    关注

    0

    文章

    259

    浏览量

    11338
  • 编译
    +关注

    关注

    0

    文章

    650

    浏览量

    32789
  • Rust
    +关注

    关注

    1

    文章

    228

    浏览量

    6560

原文标题:Meta开源Rust编写的高性能构建系统

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何用Rust编写一个ChatGPT桌面应用(保姆级教程)

    用IDEA开发的java仔) 安装 Rust 语言工具链:首先,请确保你已安装了 Rust 编程语言工具链,包括 Rust 编译器 (rustc) 和包管理工具 (cargo)。可以通过访问
    的头像 发表于 09-25 11:19 284次阅读
    如何用<b class='flag-5'>Rust</b><b class='flag-5'>编写</b>一个ChatGPT桌面应用(保姆级教程)

    使用超声波发送器和接收器构建高性能NDT系统

    电子发烧友网站提供《使用超声波发送器和接收器构建高性能NDT系统.pdf》资料免费下载
    发表于 08-28 11:00 0次下载
    使用超声波发送器和接收器<b class='flag-5'>构建</b><b class='flag-5'>高性能</b>NDT<b class='flag-5'>系统</b>

    未来嵌入式系统的黄金搭档 MCX N947遇上Rust

    基于 Rust 的安全性和性能引入了 RustRust 有很多优势,内存安全、并发安全、生态系统、包管理与
    的头像 发表于 07-25 09:14 1271次阅读
    未来嵌入式<b class='flag-5'>系统</b>的黄金搭档 MCX N947遇上<b class='flag-5'>Rust</b>

    Meta发布全新开源大模型Llama 3.1

    科技巨头Meta近期震撼发布了其最新的开源人工智能(AI)模型——Llama 3.1,这一举措标志着Meta在AI领域的又一重大突破。Meta创始人马克·扎克伯格亲自站台,盛赞Llam
    的头像 发表于 07-24 18:25 1384次阅读

    鸿蒙OpenHarmony开发板解析:【Rust模块配置规则和指导】

    Rust是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。Rust官方也使用Cargo工具来专门为Rust代码创建工程和
    的头像 发表于 05-10 11:32 1213次阅读
    鸿蒙OpenHarmony开发板解析:【<b class='flag-5'>Rust</b>模块配置规则和指导】

    构建高性能计算芯片

    计算的异构多核架构,对整个芯片行业的高性能 CPU 开发产生了影响。 这些芯片都不太可能进行商业销售。它们针对特定的数据类型和工作负载进行了优化,设计预算庞大,但可以通过提高性能和降低功耗来实现合理化。目标是在更小的面积上容纳更多的计算能力,同时降低冷却成本,而实现这一目
    的头像 发表于 04-25 10:23 1269次阅读
    <b class='flag-5'>构建</b><b class='flag-5'>高性能</b>计算芯片

    NVIDIA全面加快Meta Llama 3的推理速度

    Meta 最新开源大语言模型采用 NVIDIA 技术构建,其经过优化后可在云、数据中心、边缘和 PC 的 NVIDIA GPU 上运行。
    的头像 发表于 04-23 09:52 416次阅读

    Meta推出最强开源模型Llama 3 要挑战GPT

    Meta推出最强开源模型Llama 3 要挑战GPT Facebook母公司Meta Platforms(META.US)推出了开源AI大模
    的头像 发表于 04-19 17:00 794次阅读

    [鸿蒙]OpenHarmony4.0的Rust开发

    背景 Rust 是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。Rust 官方也使用 Cargo 工具来专门为 Rust 代码创建工程和
    的头像 发表于 02-26 17:28 789次阅读
    [鸿蒙]OpenHarmony4.0的<b class='flag-5'>Rust</b>开发

    Rust编写的首个Postgres基础Elasticsearch开源替代品问世

    PostgreSQL 的生态确实越来越繁荣了,在基于 PG 的扩展与衍生中,我们已经有了基于 MongoDB 开源替代 —— FerretDB,SQL Server 开源替代 Babelfish
    的头像 发表于 02-22 11:34 749次阅读
    <b class='flag-5'>Rust</b><b class='flag-5'>编写</b>的首个Postgres基础Elasticsearch<b class='flag-5'>开源</b>替代品问世

    Meta发布CodeLlama70B开源大模型

    Meta发布CodeLlama70B开源大模型 Meta发布了开源大模型CodeLlama70B,号称是CodeLlama系列体量最大、性能
    的头像 发表于 01-31 10:30 1353次阅读

    润开鸿基于高性能RISC-V开源架构DAYU800通过OpenHarmony兼容性测评

    近期,江苏润开鸿数字科技有限公司(以下简称“润开鸿”)基于高性能RISC-V开源架构处理器研发的OpenHarmony标准系统开发平台HH-SCDAYU800通过
    的头像 发表于 12-15 08:02 551次阅读
    润开鸿基于<b class='flag-5'>高性能</b>RISC-V<b class='flag-5'>开源</b>架构DAYU800通过OpenHarmony兼容性测评

    润开鸿基于高性能RISC-V开源架构DAYU800通过OpenHarmony兼容性测评

    近期,江苏润开鸿数字科技有限公司(以下简称“润开鸿”)基于高性能RISC-V开源架构处理器研发的OpenHarmony标准系统开发平台HH-SCDAYU800通过OpenHarmony 3.2.2
    发表于 12-14 17:33

    润开鸿基于高性能RISC-V开源架构DAYU800通过OpenHarmony兼容性测评

    基于RISC-V与OpenHarmony的全栈开源生态构建提供了同时满足RISC-V 与OpenHarmony两大开源项目兼容性技术要求的可靠硬件底座,补齐了生态的重要一环。 润开鸿基于高性能
    的头像 发表于 11-30 21:15 731次阅读
    润开鸿基于<b class='flag-5'>高性能</b>RISC-V<b class='flag-5'>开源</b>架构DAYU800通过OpenHarmony兼容性测评

    基于Rust开发的编程语言

    Move 是一门由 Rust 语言开发的一门面向资产的编程语言,最早由 Facebook (现 Meta )投入大量的人力物力开发,用于 Libra (现 Dime )项目,处理全球性大规模支付系统的编程语言。
    的头像 发表于 11-17 12:30 648次阅读