< 返回版块

Mike Tang 发表于 2024-09-22 03:12

chili - 高效并行计算库

总结如下:

  1. chili是一个Rust语言库,用于高效并行计算。它受到Spice库的启发,提供了类似于rayon::join的低开销并行原语。在计算过程中的任何分支点,它都可以并行执行两个给定的闭包。

  2. chili在计算量小、难以估计当前分支剩余计算量的情况下表现最佳。作者举了一个并行求二叉树节点值之和的例子说明了chili的用法。

  3. 文中提供了在AMD Ryzen 7 4800HS和Apple M1处理器上对不同规模二叉树进行求和的基准测试结果。结果显示,随着节点数量的增加,chili相比于单线程基准和Rayon库都有明显的加速效果。

  4. 作者还测试了在AMD Ryzen 7上chili在小规模(1K节点)时的开销,发现开销随线程数的增加保持大致不变。

  5. 另一个Reddit帖子里,有人想知道如何在Rust中高效读取100GB以上的大文件。作者表示尽管知道可以分块读取,但仍想尝试一次性读取这么大的文件,以此作为一个挑战。

https://github.com/dragostis/chili

示例 - tui中的扑克游戏

这是一个用Rust语言编写的纯文本界面扑克游戏应用程序。作者使用有限状态机(FSM)的设计模式来实现扑克游戏的逻辑,游戏数据结构是一个泛型,被包裹在一个枚举中以控制状态转换。

作者选择使用mio库来进行低级别的网络编程,实现了基于非阻塞套接字的轮询,避免了使用Web和异步框架。文本用户界面使用Ratatui库实现,游戏命令解析使用clap库。

总的来说,虽然作者最初使用Rust语言有些不习惯,但后来对其内置工具和严格性产生了赞赏,这使得开发过程更加自信。作者希望获得一些建议,如项目组织结构的优化以及是否有被忽视的Rust语言特性可以改进库和应用程序的设计。

https://old.reddit.com/r/rust/comments/1fkzjkf/poker_over_ssh/

perpetual - 梯度增强算法

这个代码库包含了名为PerpetualBooster的梯度增强算法,它不需要像其他梯度增强算法那样进行超参数优化。与AutoML库类似,它有一个预算参数,增加预算参数可以提高算法的预测能力,在看不见的数据上获得更好的结果。

该算法在相同的准确度下,通过不同的预算水平和数据集,可以比普通的梯度增强算法快100倍。文档中给出了在加州住房数据集(回归)和覆盖类型数据集(分类)上的基准测试结果。

代码库提供了Python和Rust两种语言的API接口,可以通过pip或cargo直接安装。作者正在撰写一篇论文,解释该算法是如何防止过度拟合的。该算法的工作原理在博客文章中有初步介绍。

https://github.com/perpetual-ml/perpetual

--

From 日报小组 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页