Files
icicle/wrappers/rust
HadarIngonyama 287f53ff16 NTT columns batch (#424)
This PR adds the columns batch feature - enabling batch NTT computation
to be performed directly on the columns of a matrix without having to
transpose it beforehand, as requested in issue #264.

Also some small fixes to the reordering kernels were added and some
unnecessary parameters were removes from functions interfaces.

---------

Co-authored-by: DmytroTym <dmytrotym1@gmail.com>
2024-03-13 18:46:47 +02:00
..
2024-03-13 18:46:47 +02:00
2024-03-06 21:41:48 +02:00
2024-03-06 22:05:10 +02:00

Rust Bindings

icicle-core defines all interfaces, macros and common methods.

icicle-cuda-runtime defines DeviceContext which can be used to manage a specific GPU as well as wrapping common CUDA methods.

icicle-curves implements all interfaces and macros from icicle-core for each curve. For example icicle-bn254 implements curve bn254. Each curve has its own build script which will build the CUDA libraries for that curve as part of the rust-toolchain build.

Building a curve and running tests

Enter a curve implementation.

cd icicle-curves/icicle-bn254

To build

cargo build --release

The build may take a while because we are also building the CUDA libraries for the selected curve.

To run benchmarks

cargo bench

To run test

cargo test