Skip to content

Commit 2504e80

Browse files
committed
Time info for debugging
1 parent 6aea34c commit 2504e80

File tree

1 file changed

+16
-33
lines changed

1 file changed

+16
-33
lines changed

spartan_parallel/src/lib.rs

Lines changed: 16 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1268,6 +1268,7 @@ impl<S: SpartanExtensionField + Send + Sync> SNARK<S> {
12681268
// create a multilinear polynomial using the supplied assignment for variables
12691269
let perm_poly_w0 = DensePolynomial::new(perm_w0.clone());
12701270

1271+
let timer_tmp = Timer::new("exec_gen");
12711272
// PERM_EXEC
12721273
// w2 is _, _, ZO, r * i1, r^2 * i2, r^3 * i3, ...
12731274
// where ZO * r^n = r^n * o0 + r^(n + 1) * o1, ...,
@@ -1324,32 +1325,9 @@ impl<S: SpartanExtensionField + Send + Sync> SNARK<S> {
13241325
}
13251326
(perm_exec_w2, perm_exec_w3)
13261327
};
1328+
timer_tmp.stop();
13271329

1328-
/*
1329-
let perm_exec_w3 = {
1330-
let mut perm_exec_w3: Vec<Vec<S>> = vec![Vec::new(); consis_num_proofs];
1331-
for q in (0..consis_num_proofs).rev() {
1332-
perm_exec_w3[q] = vec![S::field_zero(); 8];
1333-
perm_exec_w3[q][0] = exec_inputs_list[q][0];
1334-
perm_exec_w3[q][1] = perm_exec_w3[q][0]
1335-
* (comb_tau
1336-
- perm_exec_w2[q][3..]
1337-
.iter()
1338-
.fold(S::field_zero(), |a, b| a + *b)
1339-
- exec_inputs_list[q][2]);
1340-
perm_exec_w3[q][4] = perm_exec_w2[q][0];
1341-
perm_exec_w3[q][5] = perm_exec_w2[q][1];
1342-
if q != consis_num_proofs - 1 {
1343-
perm_exec_w3[q][3] = perm_exec_w3[q][1]
1344-
* (perm_exec_w3[q + 1][2] + S::field_one() - perm_exec_w3[q + 1][0]);
1345-
} else {
1346-
perm_exec_w3[q][3] = perm_exec_w3[q][1];
1347-
}
1348-
perm_exec_w3[q][2] = perm_exec_w3[q][0] * perm_exec_w3[q][3];
1349-
}
1350-
perm_exec_w3
1351-
};
1352-
*/
1330+
let timer_tmp = Timer::new("exec_poly");
13531331
// commit the witnesses and inputs separately instance-by-instance
13541332
let (perm_exec_poly_w2, perm_exec_poly_w3, perm_exec_poly_w3_shifted) = {
13551333
let perm_exec_poly_w2 = {
@@ -1394,13 +1372,15 @@ impl<S: SpartanExtensionField + Send + Sync> SNARK<S> {
13941372
perm_exec_poly_w3_shifted,
13951373
)
13961374
};
1375+
timer_tmp.stop();
13971376

1377+
let timer_tmp = Timer::new("block_gen");
13981378
// INPUT_BLOCK_W2 | PHY_MEM_BLOCK_W2 & VIR_MEM_BLOCK_W2
13991379
// BLOCK_W3
14001380
// INPUT PHY VIR
14011381
// w3 is [v, x, pi, D, pi, D, pi, D]
14021382
let mut block_w3: Vec<Vec<Vec<S>>> = Vec::new();
1403-
let block_w2_prover = {
1383+
let block_w2 = {
14041384
let mut block_w2: Vec<Vec<Vec<S>>> = Vec::new();
14051385
let block_w2_size_list: Vec<usize> = (0..block_num_instances)
14061386
.map(|i| {
@@ -1554,6 +1534,12 @@ impl<S: SpartanExtensionField + Send + Sync> SNARK<S> {
15541534
block_w3.push(block_w3_p);
15551535
}
15561536

1537+
block_w2
1538+
};
1539+
timer_tmp.stop();
1540+
1541+
let timer_tmp = Timer::new("block_gen");
1542+
let (block_poly_w2_list, block_poly_w3_list, block_poly_w3_list_shifted) = {
15571543
// commit the witnesses and inputs separately instance-by-instance
15581544
let mut block_poly_w2_list = Vec::new();
15591545

@@ -1567,12 +1553,7 @@ impl<S: SpartanExtensionField + Send + Sync> SNARK<S> {
15671553
};
15681554
block_poly_w2_list.push(block_poly_w2);
15691555
}
1570-
1571-
let block_w2_prover = ProverWitnessSecInfo::new(block_w2.clone(), block_poly_w2_list);
1572-
1573-
block_w2_prover
1574-
};
1575-
let (block_poly_w3_list, block_poly_w3_list_shifted) = {
1556+
15761557
let mut block_poly_w3_list = Vec::new();
15771558
let mut block_poly_w3_list_shifted = Vec::new();
15781559

@@ -1605,8 +1586,9 @@ impl<S: SpartanExtensionField + Send + Sync> SNARK<S> {
16051586
block_poly_w3_list_shifted.push(block_poly_w3_shifted);
16061587
}
16071588

1608-
(block_poly_w3_list, block_poly_w3_list_shifted)
1589+
(block_poly_w2_list, block_poly_w3_list, block_poly_w3_list_shifted)
16091590
};
1591+
timer_tmp.stop();
16101592

16111593
let perm_w0_prover = ProverWitnessSecInfo::new(vec![vec![perm_w0]], vec![perm_poly_w0]);
16121594
let perm_exec_w2_prover =
@@ -1618,6 +1600,7 @@ impl<S: SpartanExtensionField + Send + Sync> SNARK<S> {
16181600
let perm_exec_w3_prover =
16191601
ProverWitnessSecInfo::new(vec![perm_exec_w3], vec![perm_exec_poly_w3]);
16201602

1603+
let block_w2_prover = ProverWitnessSecInfo::new(block_w2, block_poly_w2_list);
16211604
let block_w3_shifted_prover = ProverWitnessSecInfo::new(
16221605
block_w3
16231606
.iter()

0 commit comments

Comments
 (0)