Skip to content

Commit c3c35b2

Browse files
committed
chore: update stark-backend-v2 (use new keygen) (#2288)
1 parent 23178fe commit c3c35b2

File tree

2 files changed

+46
-59
lines changed

2 files changed

+46
-59
lines changed

Cargo.lock

Lines changed: 8 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/vm/src/arch/vm.rs

Lines changed: 38 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -450,22 +450,8 @@ where
450450
E: StarkEngine<SC = stark_backend_v2::SC>,
451451
{
452452
let circuit = config.create_airs()?;
453-
// TODO[jpw]: remove; this is just to extract constraints and FRI parameters are not used
454-
let pk = {
455-
use stark_backend_v2::openvm_stark_sdk::{
456-
config::{baby_bear_poseidon2::BabyBearPoseidon2Engine, FriParameters},
457-
engine::{StarkEngine as _, StarkFriEngine},
458-
};
459-
let engine_v1 = BabyBearPoseidon2Engine::new(
460-
FriParameters::standard_with_100_bits_conjectured_security(2),
461-
);
462-
let mut builder = engine_v1.keygen_builder();
463-
for air in circuit.into_airs() {
464-
builder.add_air(air);
465-
}
466-
let pk_v1 = builder.generate_pk();
467-
MultiStarkProvingKey::from_v1(engine.config(), pk_v1)
468-
};
453+
let airs = circuit.into_airs().collect_vec();
454+
let (pk, _vk) = engine.keygen(&airs);
469455
let d_pk = engine.device().transport_pk_to_device(&pk);
470456
let vm = Self::new(engine, builder, config, d_pk)?;
471457
Ok((vm, pk))
@@ -1478,46 +1464,46 @@ where
14781464
#[cfg(any(debug_assertions, feature = "test-utils", feature = "stark-debug"))]
14791465
#[tracing::instrument(level = "debug", skip_all)]
14801466
pub fn debug_proving_ctx<E, VB>(
1481-
vm: &VirtualMachine<E, VB>,
1482-
pk: &MultiStarkProvingKey,
1483-
ctx: &ProvingContext<E::PB>,
1467+
_vm: &VirtualMachine<E, VB>,
1468+
_pk: &MultiStarkProvingKey,
1469+
_ctx: &ProvingContext<E::PB>,
14841470
) where
14851471
E: StarkEngine,
14861472
VB: VmBuilder<E>,
14871473
{
1488-
use itertools::multiunzip;
1489-
use openvm_stark_backend::prover::types::AirProofRawInput;
1490-
use stark_backend_v2::prover::StridedColMajorMatrixView;
1491-
1492-
let device = vm.engine.device();
1493-
let air_inv = vm.config().create_airs().unwrap();
1494-
let global_airs = air_inv.into_airs().collect_vec();
1495-
let (_airs, _pks, _proof_inputs): (Vec<_>, Vec<_>, Vec<_>) =
1496-
multiunzip(ctx.per_trace.iter().map(|(air_id, air_ctx)| {
1497-
// Transfer from device **back** to host so the debugger can read the data.
1498-
let cached_mains = air_ctx
1499-
.cached_mains
1500-
.iter()
1501-
.map(|cd| {
1502-
let data = device.transport_pcs_data_from_device_to_host(&cd.data);
1503-
Arc::new(data.mat_view(0).to_row_major_matrix())
1504-
})
1505-
.collect_vec();
1506-
let matrix = device.transport_matrix_from_device_to_host(&air_ctx.common_main);
1507-
let common_main =
1508-
StridedColMajorMatrixView::from(matrix.as_view()).to_row_major_matrix();
1509-
let public_values = air_ctx.public_values.clone();
1510-
let raw = AirProofRawInput {
1511-
cached_mains,
1512-
common_main: Some(Arc::new(common_main)),
1513-
public_values,
1514-
};
1515-
(
1516-
global_airs[*air_id].clone(),
1517-
pk.per_air[*air_id].clone(),
1518-
raw,
1519-
)
1520-
}));
1474+
// use itertools::multiunzip;
1475+
// use openvm_stark_backend::prover::types::AirProofRawInput;
1476+
// use stark_backend_v2::prover::StridedColMajorMatrixView;
1477+
1478+
// let device = vm.engine.device();
1479+
// let air_inv = vm.config().create_airs().unwrap();
1480+
// let global_airs = air_inv.into_airs().collect_vec();
1481+
// let (_airs, _pks, _proof_inputs): (Vec<_>, Vec<_>, Vec<_>) =
1482+
// multiunzip(ctx.per_trace.iter().map(|(air_id, air_ctx)| {
1483+
// // Transfer from device **back** to host so the debugger can read the data.
1484+
// let cached_mains = air_ctx
1485+
// .cached_mains
1486+
// .iter()
1487+
// .map(|cd| {
1488+
// todo!();
1489+
// Arc::new(data.mat_view(0).to_row_major_matrix())
1490+
// })
1491+
// .collect_vec();
1492+
// let matrix = device.transport_matrix_from_device_to_host(&air_ctx.common_main);
1493+
// let common_main =
1494+
// StridedColMajorMatrixView::from(matrix.as_view()).to_row_major_matrix();
1495+
// let public_values = air_ctx.public_values.clone();
1496+
// let raw = AirProofRawInput {
1497+
// cached_mains,
1498+
// common_main: Some(Arc::new(common_main)),
1499+
// public_values,
1500+
// };
1501+
// (
1502+
// global_airs[*air_id].clone(),
1503+
// pk.per_air[*air_id].clone(),
1504+
// raw,
1505+
// )
1506+
// }));
15211507

15221508
// TODO
15231509
// vm.engine.debug(&airs, &pks, &proof_inputs);

0 commit comments

Comments
 (0)