Skip to main content

openvm_cuda_backend/
lib.rs

1// cudaStream_t is an opaque CUDA handle (*mut c_void) passed through to FFI.
2// Clippy's not_unsafe_ptr_arg_deref fires on functions that accept it, but the
3// "pointer" is never dereferenced in Rust — it is just forwarded to CUDA runtime calls.
4#![allow(clippy::not_unsafe_ptr_arg_deref)]
5
6pub mod base;
7#[cfg(feature = "baby-bear-bn254-poseidon2")]
8pub mod bn254_sponge;
9pub mod data_transporter;
10pub mod hash_scheme;
11pub mod logup_zerocheck;
12pub mod merkle_tree;
13pub mod monomial;
14pub mod ntt;
15pub mod poly;
16pub mod sponge;
17pub mod stacked_pcs;
18pub mod stacked_reduction;
19pub mod utils;
20pub mod whir;
21
22/// Rust bindings for CUDA kernels
23mod cuda;
24mod device;
25mod engine;
26mod error;
27mod gpu_backend;
28mod pkey;
29mod sumcheck;
30mod types;
31#[cfg(feature = "baby-bear-bn254-poseidon2")]
32pub use bn254_sponge::MultiFieldTranscriptGpu;
33pub use device::*;
34pub use engine::*;
35pub use error::*;
36pub use gpu_backend::*;
37pub use hash_scheme::*;
38pub use pkey::*;
39
40#[cfg(test)]
41mod tests;
42
43pub mod prelude {
44    pub use crate::types::*;
45}