tisma / pasta-msm

High-performance Multi-scalar Multiplication for Pasta curves

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

High-performance Multi-scalar Multiplication for Pasta curves

License:Apache License 2.0


Languages

Language:Rust 84.3%Language:Cuda 9.2%Language:C++ 6.5%