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.