openvm_continuations/prover/
mod.rs

1use openvm_cpu_backend::CpuBackend;
2#[cfg(feature = "cuda")]
3use openvm_cuda_backend::GpuBackend;
4use openvm_recursion_circuit::system::VerifierSubCircuit;
5
6#[cfg(feature = "root-prover")]
7use crate::circuit::root::RootTraceGenImpl;
8use crate::{
9    circuit::{
10        deferral::{hook::DeferralHookTraceGenImpl, inner::DeferralInnerTraceGenImpl},
11        inner::InnerTraceGenImpl,
12    },
13    SC,
14};
15
16mod deferral;
17mod inner;
18mod utils;
19
20pub use deferral::*;
21pub use inner::*;
22pub use utils::*;
23
24#[cfg(feature = "root-prover")]
25mod root;
26#[cfg(feature = "root-prover")]
27pub use root::*;
28
29pub type InnerCpuProver<const MAX_NUM_PROOFS: usize> =
30    InnerAggregationProver<CpuBackend<SC>, VerifierSubCircuit<MAX_NUM_PROOFS>, InnerTraceGenImpl>;
31#[cfg(feature = "cuda")]
32pub type InnerGpuProver<const MAX_NUM_PROOFS: usize> =
33    InnerAggregationProver<GpuBackend, VerifierSubCircuit<MAX_NUM_PROOFS>, InnerTraceGenImpl>;
34
35#[cfg(feature = "root-prover")]
36pub type RootCpuProver = RootProver<VerifierSubCircuit<1>, RootTraceGenImpl>;
37#[cfg(all(feature = "cuda", feature = "root-prover"))]
38pub type RootGpuProver = RootProver<VerifierSubCircuit<1>, RootTraceGenImpl>;
39
40pub type DeferralInnerCpuProver =
41    DeferralInnerProver<CpuBackend<SC>, VerifierSubCircuit<2>, DeferralInnerTraceGenImpl>;
42#[cfg(feature = "cuda")]
43pub type DeferralInnerGpuProver =
44    DeferralInnerProver<GpuBackend, VerifierSubCircuit<2>, DeferralInnerTraceGenImpl>;
45
46pub type DeferralHookCpuProver =
47    DeferralHookProver<CpuBackend<SC>, VerifierSubCircuit<1>, DeferralHookTraceGenImpl>;
48#[cfg(feature = "cuda")]
49pub type DeferralHookGpuProver =
50    DeferralHookProver<GpuBackend, VerifierSubCircuit<1>, DeferralHookTraceGenImpl>;