#optimized #aarch64 #x86-64 #multiplication #cuda #scalar #multiscalar

pasta-msm

针对x86_64和aarch64的Pasta模数的优化多标量乘法

5个版本

0.1.4 2023年5月5日
0.1.3 2022年8月10日
0.1.2 2022年6月26日
0.1.1 2022年5月26日
0.1.0 2022年5月19日

#6 in #multiplication

Download history · Rust 包仓库 171/week @ 2024-04-08 · Rust 包仓库 178/week @ 2024-04-15 · Rust 包仓库 109/week @ 2024-04-22 · Rust 包仓库 169/week @ 2024-04-29 · Rust 包仓库 122/week @ 2024-05-06 · Rust 包仓库 137/week @ 2024-05-13 · Rust 包仓库 139/week @ 2024-05-20 · Rust 包仓库 175/week @ 2024-05-27 · Rust 包仓库 100/week @ 2024-06-03 · Rust 包仓库 98/week @ 2024-06-10 · Rust 包仓库 128/week @ 2024-06-17 · Rust 包仓库 147/week @ 2024-06-24 · Rust 包仓库 47/week @ 2024-07-01 · Rust 包仓库 57/week @ 2024-07-08 · Rust 包仓库 155/week @ 2024-07-15 · Rust 包仓库 79/week @ 2024-07-22 · Rust 包仓库

349 每月下载次数
用于 7 个crate(4 直接使用)

Apache-2.0

17KB
323 代码行(不包括注释)

Pasta多标量乘法

这是第一个版本,列出了计划改进的列表

  • 并行化;
  • 将标量分解为有符号数字,以减半桶的积分复杂性;
  • 切换到具有更快加法公式的替代桶点表示;
  • 迁移CUDA实现;

要编译CUDA支持,请确保您的程序搜索路径上有 nvcc,Nvidia CUDA编译器,最小安装即可。例如,在 Ubuntu 上,只需安装 cuda-minimal-build-11-7 而不是完整的 cuda 包。如果您的笔记本电脑配备了Turing+控制器,您可能需要使用 --features=cuda-mobile 进行编译。读者请注意。CUDA实现尚未适应实际负载,因此某些结果可能不太理想。

依赖关系

~1.2–2.4MB
~49K SLoC