Skip to main content

ProverDevice

Trait ProverDevice 

Source
pub trait ProverDevice<PB: ProverBackend, TS>:
    TraceCommitter<PB>
    + MultiRapProver<PB, TS>
    + OpeningProver<PB, TS> {
    type Error: 'static + Error + Send + Sync + From<<Self as TraceCommitter<PB>>::Error> + From<<Self as MultiRapProver<PB, TS>>::Error> + From<<Self as OpeningProver<PB, TS>>::Error>;
    type DeviceCtx: Clone + Send + Sync;

    // Required method
    fn device_ctx(&self) -> &Self::DeviceCtx;
}

Required Associated Types§

Source

type Error: 'static + Error + Send + Sync + From<<Self as TraceCommitter<PB>>::Error> + From<<Self as MultiRapProver<PB, TS>>::Error> + From<<Self as OpeningProver<PB, TS>>::Error>

Source

type DeviceCtx: Clone + Send + Sync

Device-specific context (e.g., CUDA stream). Unit () for CPU devices.

Required Methods§

Source

fn device_ctx(&self) -> &Self::DeviceCtx

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<SC, TS> ProverDevice<CpuColMajorBackend<SC>, TS> for ReferenceDevice<SC>
where SC: StarkProtocolConfig, SC::F: Ord, SC::EF: TwoAdicField + ExtensionField<SC::F> + Ord, TS: FiatShamirTranscript<SC>,