#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 171/week @ 2024-04-08 178/week @ 2024-04-15 109/week @ 2024-04-22 169/week @ 2024-04-29 122/week @ 2024-05-06 137/week @ 2024-05-13 139/week @ 2024-05-20 175/week @ 2024-05-27 100/week @ 2024-06-03 98/week @ 2024-06-10 128/week @ 2024-06-17 147/week @ 2024-06-24 47/week @ 2024-07-01 57/week @ 2024-07-08 155/week @ 2024-07-15 79/week @ 2024-07-22

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