Skip to main content

DeviceDataTransporter

Trait DeviceDataTransporter 

Source
pub trait DeviceDataTransporter<SC, PB>
where SC: StarkProtocolConfig, PB: ProverBackend<Val = SC::F, Challenge = SC::EF, Commitment = SC::Digest>,
{ // Required methods fn transport_pk_to_device( &self, mpk: &MultiStarkProvingKey<SC>, ) -> DeviceMultiStarkProvingKey<PB>; fn transport_matrix_to_device( &self, matrix: &ColMajorMatrix<SC::F>, ) -> PB::Matrix; fn transport_pcs_data_to_device( &self, pcs_data: &StackedPcsData<SC::F, SC::Digest>, ) -> PB::PcsData; fn transport_matrix_from_device_to_host( &self, matrix: &PB::Matrix, ) -> ColMajorMatrix<SC::F>; // Provided methods fn transport_committed_trace_data_to_device( &self, committed_trace: &CommittedTraceData<CpuColMajorBackend<SC>>, ) -> CommittedTraceData<PB> { ... } fn transport_proving_ctx_to_device( &self, ctx: &ProvingContext<CpuColMajorBackend<SC>>, ) -> ProvingContext<PB> { ... } }
Expand description

Trait to manage data transport of prover types from host to device.

Required Methods§

Source

fn transport_pk_to_device( &self, mpk: &MultiStarkProvingKey<SC>, ) -> DeviceMultiStarkProvingKey<PB>

Transport the proving key to the device, filtering for only the provided air_ids.

Source

fn transport_matrix_to_device( &self, matrix: &ColMajorMatrix<SC::F>, ) -> PB::Matrix

Source

fn transport_pcs_data_to_device( &self, pcs_data: &StackedPcsData<SC::F, SC::Digest>, ) -> PB::PcsData

The commitment and prover_data are assumed to have been previously computed from the trace.

Source

fn transport_matrix_from_device_to_host( &self, matrix: &PB::Matrix, ) -> ColMajorMatrix<SC::F>

Transport a device matrix to host. This should only be used for testing / debugging purposes.

Provided Methods§

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§