pub trait ProverBackend {
type Val: Copy + Send + Sync + Serialize + DeserializeOwned;
type Challenge: Copy + Send + Sync + Serialize + DeserializeOwned;
type Commitment: Clone + Send + Sync + Serialize + DeserializeOwned;
type Matrix: MatrixDimensions + Send + Sync;
type OtherAirData: Send + Sync;
type PcsData: Send + Sync;
const CHALLENGE_EXT_DEGREE: u8;
}Expand description
Associated types needed by the prover, in the form of buffers and views, specific to a specific hardware backend.
Memory allocation and copying is not handled by this trait.
Required Associated Constants§
Sourceconst CHALLENGE_EXT_DEGREE: u8
const CHALLENGE_EXT_DEGREE: u8
Extension field degree for the challenge field Self::Challenge over base field
Self::Val.
Required Associated Types§
Sourcetype Challenge: Copy + Send + Sync + Serialize + DeserializeOwned
type Challenge: Copy + Send + Sync + Serialize + DeserializeOwned
Challenge field (extension field of base field), on host.
Sourcetype Commitment: Clone + Send + Sync + Serialize + DeserializeOwned
type Commitment: Clone + Send + Sync + Serialize + DeserializeOwned
Single commitment on host.
Sourcetype Matrix: MatrixDimensions + Send + Sync
type Matrix: MatrixDimensions + Send + Sync
Single matrix buffer on device together with dimension metadata. Owning this means nothing else has a shared reference to the buffer.
Sourcetype OtherAirData: Send + Sync
type OtherAirData: Send + Sync
Backend specific type for any pre-computed data associated with a single AIR. For example, it may contain prover-specific precomputations based on the AIR constraints (but independent from any trace data).
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".