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

pasta-msm

Optimized multiscalar multiplicaton for Pasta moduli for x86_64 and aarch64

5 releases

0.1.4 May 5, 2023
0.1.3 Aug 10, 2022
0.1.2 Jun 26, 2022
0.1.1 May 26, 2022
0.1.0 May 19, 2022

#1 in #pasta

Download history 86/week @ 2024-10-14 133/week @ 2024-10-21 204/week @ 2024-10-28 151/week @ 2024-11-04 82/week @ 2024-11-11 172/week @ 2024-11-18 131/week @ 2024-11-25 167/week @ 2024-12-02 216/week @ 2024-12-09 141/week @ 2024-12-16 47/week @ 2024-12-23 45/week @ 2024-12-30 111/week @ 2025-01-06 125/week @ 2025-01-13 150/week @ 2025-01-20 41/week @ 2025-01-27

450 downloads per month
Used in 6 crates (3 directly)

Apache-2.0

17KB
323 lines

Pasta Multi-Scalar Multiplication

This is an initial version with a list of planned improvements:

  • parallelize;
  • break down scalars to signed digits to half the buckets' integration complexity;
  • switch to alternative bucket point representation with faster addition formula;
  • migrate CUDA implementation;

To compile CUDA support ensure that you have nvcc, Nvidia CUDA compiler, on your program search path. Minimal installation suffices. For example on Ubuntu it would be sufficient to install cuda-minimal-build-11-7 instead of complete cuda package. If your laptop is equipped with a Turing+ controller, you're likely to have to compile with --features=cuda-mobile. Caveat lector. CUDA implementation does not adapt for the actual load yet, so that some results would be suboptimal.

Dependencies

~1.4–2.7MB
~57K SLoC

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy