#机器学习 #simd #向量化 #函数 #mathml #ml模型

rten-vecmath

机器学习模型中使用的各种数学函数的SIMD向量化实现

8个重大版本发布

0.11.0 2024年7月5日
0.9.0 2024年5月16日
0.6.0 2024年3月31日
0.1.0 2023年12月31日

机器学习 中排名第 458

Download history 81/week @ 2024-04-16 149/week @ 2024-04-23 347/week @ 2024-04-30 123/week @ 2024-05-07 502/week @ 2024-05-14 350/week @ 2024-05-21 227/week @ 2024-05-28 122/week @ 2024-06-04 148/week @ 2024-06-11 133/week @ 2024-06-18 145/week @ 2024-06-25 287/week @ 2024-07-02 199/week @ 2024-07-09 215/week @ 2024-07-16 224/week @ 2024-07-23 230/week @ 2024-07-30

每月下载量 903
6 个crate中使用(通过 rten

MIT/Apache

93KB
2K SLoC

rten-vecmath

此crate提供跨平台的SIMD类型,该类型抽象了不同架构上的SIMD内嵌函数。与 std::simd 不同,此功能在稳定的Rust上工作。该crate还包括在运行时检测可用指令并调度到最佳实现的功能。

此crate还包含了一些机器学习模型中性能关键数学函数(如exp、erf、tanh、softmax等)的SIMD向量化版本。


lib.rs:

神经网络中常用数学函数的SIMD向量化实现

在此库中的每个函数都有多个变体,通常包括

  • 一个操作标量的版本
  • 一个从输入切片读取值并将其写入等长输出切片对应位置的版本。这些版本以 vec_ 前缀命名。
  • 一个从可变输入切片读取值并将计算结果就地写入的版本。这些版本以 vec_ 前缀和 _in_place 后缀命名。

所有变体都使用相同的底层实现,应该具有相同的精度。

有关精度的注释,请参阅源代码。

依赖项