Files
icicle/wrappers/rust
release-bot ff374fcac7 Bump rust crates' version
icicle-babybear@2.0.0
icicle-bls12-377@2.0.0
icicle-bls12-381@2.0.0
icicle-bn254@2.0.0
icicle-bw6-761@2.0.0
icicle-core@2.0.0
icicle-cuda-runtime@2.0.0
icicle-grumpkin@2.0.0
icicle-hash@2.0.0

Generated by cargo-workspaces
2024-04-23 02:30:18 +00:00
..
2024-04-23 05:26:40 +03:00
2024-04-23 02:30:18 +00:00
2024-04-23 02:30:18 +00:00
2024-04-23 02:30:18 +00: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