Welcome to the ICICLE Workshop! In this session, we'll dive into hands-on Rust examples provided in this repository. Get ready to explore, learn, and have fun with ICICLE. Here’s how to get started:
Start by cloning this repository to your local machine:
git clone https://github.com/ingonyama-zk/icicle-workshop-ig24.git
Make sure to set up the CUDA backend to run the examples efficiently. Here’s how:
- Create a directory for the CUDA backend and navigate to it:
~/home/icicle-workshop-ig24$ mkdir cuda_backend && cd cuda_backend
- Download the CUDA package:
~/home/icicle-workshop-ig24/cuda_backend$ curl -L -O https://github.com/ingonyama-zk/icicle/releases/download/v3.0.0/icicle30-ubuntu22-cuda122.tar.gz
- Extract the package:
~/home/icicle-workshop-ig24/cuda_backend$ tar -xzvf icicle30-ubuntu22-cuda122.tar.gz
Let’s bring the ICICLE examples to life! Run these commands:
- Simple Arithmetic Example:
~/home/icicle-workshop-ig24/rust/polynomials$ cargo run --package polynomial-icicle --example simple_arithmetic
- Complex Arithmetic Example (with specific configurations):
~/home/icicle-workshop-ig24/rust/polynomials$ cargo run --package polynomial-icicle --example complex_arithmetic -- --max-ntt-log-size 22 --poly-log-size 18 --device-type "CUDA"