Skip to content

Commit 73949d6

Browse files
committed
comment out transition constraints in internal verifier
1 parent 554df1c commit 73949d6

File tree

3 files changed

+62
-32
lines changed

3 files changed

+62
-32
lines changed

crates/continuations/src/verifier/common/non_leaf.rs

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -50,37 +50,38 @@ impl<C: Config> NonLeafVerifierVariables<C> {
5050
let proof_vm_pvs = self.verify_internal_or_leaf_verifier_proof(builder, &proof);
5151

5252
assert_single_segment_vm_exit_successfully(builder, &proof);
53-
builder.if_eq(i, RVar::zero()).then_or_else(
54-
|builder| {
55-
builder.assign(&pvs.app_commit, proof_vm_pvs.vm_verifier_pvs.app_commit);
56-
builder.assign(
57-
&leaf_verifier_commit,
58-
proof_vm_pvs.extra_pvs.leaf_verifier_commit,
59-
);
60-
},
61-
|builder| {
62-
builder.assert_eq::<[_; DIGEST_SIZE]>(
63-
pvs.app_commit,
64-
proof_vm_pvs.vm_verifier_pvs.app_commit,
65-
);
66-
builder.assert_eq::<[_; DIGEST_SIZE]>(
67-
leaf_verifier_commit,
68-
proof_vm_pvs.extra_pvs.leaf_verifier_commit,
69-
);
70-
},
71-
);
53+
54+
// builder.if_eq(i, RVar::zero()).then_or_else(
55+
// |builder| {
56+
// builder.assign(&pvs.app_commit, proof_vm_pvs.vm_verifier_pvs.app_commit);
57+
// builder.assign(
58+
// &leaf_verifier_commit,
59+
// proof_vm_pvs.extra_pvs.leaf_verifier_commit,
60+
// );
61+
// },
62+
// |builder| {
63+
// builder.assert_eq::<[_; DIGEST_SIZE]>(
64+
// pvs.app_commit,
65+
// proof_vm_pvs.vm_verifier_pvs.app_commit,
66+
// );
67+
// builder.assert_eq::<[_; DIGEST_SIZE]>(
68+
// leaf_verifier_commit,
69+
// proof_vm_pvs.extra_pvs.leaf_verifier_commit,
70+
// );
71+
// },
72+
// );
7273
assert_or_assign_connector_pvs(
7374
builder,
7475
&pvs.connector,
7576
i,
7677
&proof_vm_pvs.vm_verifier_pvs.connector,
7778
);
78-
assert_or_assign_memory_pvs(
79-
builder,
80-
&pvs.memory,
81-
i,
82-
&proof_vm_pvs.vm_verifier_pvs.memory,
83-
);
79+
// assert_or_assign_memory_pvs(
80+
// builder,
81+
// &pvs.memory,
82+
// i,
83+
// &proof_vm_pvs.vm_verifier_pvs.memory,
84+
// );
8485
// This is only needed when `is_terminate` but branching here won't save much, so we
8586
// always assign it.
8687
builder.assign(
@@ -106,15 +107,18 @@ impl<C: Config> NonLeafVerifierVariables<C> {
106107
let program_commit = get_program_commit(builder, proof);
107108
let is_self_program =
108109
eq_felt_slice(builder, &self.internal_program_commit, &program_commit);
110+
builder.print_v(is_self_program);
109111

110112
builder.if_eq(is_self_program, RVar::one()).then_or_else(
111113
|builder| {
114+
builder.cycle_tracker_start("verify stark");
112115
StarkVerifier::verify::<DuplexChallengerVariable<C>>(
113116
builder,
114117
&self.internal_pcs,
115118
&self.internal_advice,
116119
proof,
117120
);
121+
builder.cycle_tracker_end("verify stark");
118122
assign_array_to_slice(builder, &flatten_proof_vm_pvs, &proof_vm_pvs_arr, 0);
119123
let proof_vm_pvs: &InternalVmVerifierPvs<_> =
120124
flatten_proof_vm_pvs.as_slice().borrow();
@@ -126,12 +130,14 @@ impl<C: Config> NonLeafVerifierVariables<C> {
126130
);
127131
},
128132
|builder| {
133+
builder.cycle_tracker_start("verify stark");
129134
StarkVerifier::verify::<DuplexChallengerVariable<C>>(
130135
builder,
131136
&self.leaf_pcs,
132137
&self.leaf_advice,
133138
proof,
134139
);
140+
builder.cycle_tracker_end("verify stark");
135141
// Leaf verifier doesn't have extra public values.
136142
assign_array_to_slice(
137143
builder,

crates/vm/src/metrics/cycle_tracker/mod.rs

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,31 @@ pub struct SpanInfo {
77
pub start: usize,
88
}
99

10-
#[derive(Clone, Debug, Default)]
10+
#[derive(Clone, Debug)]
1111
pub struct CycleTracker {
1212
/// Stack of span names, with most recent at the end
1313
stack: Vec<SpanInfo>,
1414
/// Depth of the stack.
1515
depth: usize,
16+
profile_depth: usize,
17+
}
18+
19+
impl Default for CycleTracker {
20+
fn default() -> Self {
21+
Self::new()
22+
}
1623
}
1724

1825
impl CycleTracker {
1926
pub fn new() -> Self {
20-
Self::default()
27+
Self {
28+
stack: Vec::new(),
29+
depth: 0,
30+
profile_depth: std::env::var("CYCLE_TRACKER_PROFILE_DEPTH")
31+
.ok()
32+
.and_then(|s| s.parse().ok())
33+
.unwrap_or(3),
34+
}
2135
}
2236

2337
pub fn top(&self) -> Option<&String> {
@@ -40,8 +54,10 @@ impl CycleTracker {
4054
start: cycles_count,
4155
});
4256
let padding = "│ ".repeat(self.depth);
43-
tracing::info!("{}┌╴{}", padding, name);
4457
self.depth += 1;
58+
if self.depth < self.profile_depth {
59+
tracing::info!("{}┌╴{}", padding, name);
60+
}
4561
}
4662

4763
/// Ends the cycle tracker span for the given name.
@@ -53,10 +69,12 @@ impl CycleTracker {
5369
}
5470
let SpanInfo { tag, start } = self.stack.pop().unwrap();
5571
assert_eq!(tag, name, "Stack top does not match name");
56-
self.depth -= 1;
5772
let padding = "│ ".repeat(self.depth);
5873
let span_cycles = cycles_count - start;
59-
tracing::info!("{}└╴{} cycles", padding, span_cycles);
74+
if self.depth < self.profile_depth {
75+
tracing::info!("{}└╴{} cycles ({})", padding, span_cycles, name);
76+
}
77+
self.depth -= 1;
6078
}
6179

6280
/// Ends the current cycle tracker span.

crates/vm/src/system/phantom/mod.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,14 +157,20 @@ where
157157
SysPhantom::CtStart => {
158158
let metrics = state.metrics;
159159
if let Some(info) = metrics.debug_infos.get(pc) {
160-
metrics.cycle_tracker.start(info.dsl_instruction.clone());
160+
metrics.cycle_tracker.start(
161+
info.dsl_instruction.clone(),
162+
state.memory.timestamp as usize,
163+
);
161164
}
162165
}
163166
#[cfg(feature = "perf-metrics")]
164167
SysPhantom::CtEnd => {
165168
let metrics = state.metrics;
166169
if let Some(info) = metrics.debug_infos.get(pc) {
167-
metrics.cycle_tracker.end(info.dsl_instruction.clone());
170+
metrics.cycle_tracker.end(
171+
info.dsl_instruction.clone(),
172+
state.memory.timestamp as usize,
173+
);
168174
}
169175
}
170176
_ => {}

0 commit comments

Comments
 (0)