Skip to content

Commit

Permalink
fix par
Browse files Browse the repository at this point in the history
  • Loading branch information
kunxian-xia committed Dec 1, 2023
1 parent 7a0b3fc commit 35e5b88
Showing 1 changed file with 24 additions and 14 deletions.
38 changes: 24 additions & 14 deletions halo2_proofs/src/plonk/evaluation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -518,17 +518,21 @@ impl<C: CurveAffine> Evaluator<C> {
.iter()
.map(|lookup| {
let (inputs_lookup_evaluator, _) = lookup;
let mut inputs_eval_data: Vec<_> = inputs_lookup_evaluator
.iter()
.map(|input_lookup_evaluator| input_lookup_evaluator.instance())
.collect();

let mut inputs_values_for_extended_domain: Vec<C::Scalar> =
inputs_lookup_evaluator
.iter()
.zip(inputs_eval_data.iter_mut())
.flat_map(|(input_lookup_evaluator, input_eval_data)| {
(0..size).into_par_iter().map(|idx| {
let inputs_values_for_extended_domain: Vec<Vec<C::Scalar>> = (0..size)
.into_par_iter()
.map(|idx| {
let mut inputs_eval_data: Vec<_> = inputs_lookup_evaluator
.iter()
.map(|input_lookup_evaluator| {
input_lookup_evaluator.instance()
})
.collect();

inputs_lookup_evaluator
.iter()
.zip(inputs_eval_data.iter_mut())
.map(|(input_lookup_evaluator, input_eval_data)| {
input_lookup_evaluator.evaluate(
input_eval_data,
fixed,
Expand All @@ -545,7 +549,13 @@ impl<C: CurveAffine> Evaluator<C> {
isize,
)
})
})
.collect()
})
.collect();
let mut inputs_values_for_extended_domain: Vec<C::Scalar> =
inputs_values_for_extended_domain
.into_iter()
.flatten()
.collect();

parallelize(&mut inputs_values_for_extended_domain, |values, _| {
Expand All @@ -557,9 +567,9 @@ impl<C: CurveAffine> Evaluator<C> {
(0..size)
.into_par_iter()
.map(|i| {
(0..inputs_len)
.into_iter()
.map(|j| inputs_values_for_extended_domain[j * size + i])
inputs_values_for_extended_domain
[i * inputs_len..(i + 1) * inputs_len]
.iter()
.fold(C::Scalar::zero(), |acc, x| acc + x)
})
.collect::<Vec<_>>()
Expand Down

0 comments on commit 35e5b88

Please sign in to comment.