pub trait DeviceDataTransporter<SC, PB>where
SC: StarkGenericConfig,
PB: ProverBackend<Val = Val<SC>, Challenge = SC::Challenge, Commitment = Com<SC>>,{
// Required methods
fn transport_pk_to_device(
&self,
mpk: &MultiStarkProvingKey<SC>,
) -> DeviceMultiStarkProvingKey<PB>;
fn transport_matrix_to_device(
&self,
matrix: &Arc<RowMajorMatrix<Val<SC>>>,
) -> PB::Matrix;
fn transport_committed_trace_to_device(
&self,
commitment: Com<SC>,
trace: &Arc<RowMajorMatrix<Val<SC>>>,
prover_data: &Arc<PcsProverData<SC>>,
) -> CommittedTraceData<PB>;
fn transport_matrix_from_device_to_host(
&self,
matrix: &PB::Matrix,
) -> Arc<RowMajorMatrix<Val<SC>>> ⓘ;
}
Expand description
Trait to manage data transport of prover types from host to device.
Required Methods§
Sourcefn transport_pk_to_device(
&self,
mpk: &MultiStarkProvingKey<SC>,
) -> DeviceMultiStarkProvingKey<PB>
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
.
fn transport_matrix_to_device( &self, matrix: &Arc<RowMajorMatrix<Val<SC>>>, ) -> PB::Matrix
Sourcefn transport_committed_trace_to_device(
&self,
commitment: Com<SC>,
trace: &Arc<RowMajorMatrix<Val<SC>>>,
prover_data: &Arc<PcsProverData<SC>>,
) -> CommittedTraceData<PB>
fn transport_committed_trace_to_device( &self, commitment: Com<SC>, trace: &Arc<RowMajorMatrix<Val<SC>>>, prover_data: &Arc<PcsProverData<SC>>, ) -> CommittedTraceData<PB>
The commitment
and prover_data
are assumed to have been previously computed from the
trace
.
Sourcefn transport_matrix_from_device_to_host(
&self,
matrix: &PB::Matrix,
) -> Arc<RowMajorMatrix<Val<SC>>> ⓘ
fn transport_matrix_from_device_to_host( &self, matrix: &PB::Matrix, ) -> Arc<RowMajorMatrix<Val<SC>>> ⓘ
Transport a device matrix to host. This should only be used for testing / debugging purposes.