Crate ec_gpu_gen

source ·
Expand description

CUDA/OpenCL code generator for finite-field arithmetic over prime fields and elliptic curve arithmetic constructed with Rust.

There is also support for Fast Fourier Transform and Multiexponentiation.

Feature flags

There are several feature flags that can be combined in all possible ways. By default, all features are enabled. You can enable CUDA and/or OpenCL support with the cuda and the opencl features. Those can be combined with the fft and the multiexp feature. If one of them is enabled, a kernel with that functionality will be generated.

If you only want to use the CPU version of FFT and/or multiexp you can do so by enabling the fft and/or multiexp, and disabling the cuda and opencl features.

Re-exports

Modules

Fast Fourier Transform on the GPU.
Fast Fourier Transform on the CPU.
Multiexponentiation on the GPU.
Multiexponentiation on the CPU.
Helpers for multithreaded code. An interface for dealing with the kinds of parallel computations involved.

Structs

A 32-bit limb.
A 64-bit limb.

Enums

Errors of this library.

Traits

Trait to implement limbs of different underlying bit sizes.

Functions

Returns CUDA/OpenCL source-code that contains definitions/functions that are shared across fields.
Returns CUDA/OpenCL source-code of a ff::PrimeField with name name Find details in README.md
Generates the source for the elliptic curve and group operations, as defined by E.
Generates the source for FFT and Multiexp operations.

Type Definitions

Result wrapper that is always using EcError as error.