From da84f11626fb4eca7428124d49b366d192d8263b Mon Sep 17 00:00:00 2001 From: Julian Arnesino Date: Mon, 2 Sep 2024 15:23:16 -0300 Subject: [PATCH] Default implementation that parallelizes extend_evals with Rayon --- crates/prover/src/core/poly/circle/ops.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/crates/prover/src/core/poly/circle/ops.rs b/crates/prover/src/core/poly/circle/ops.rs index e4fddfa51..2c8a46131 100644 --- a/crates/prover/src/core/poly/circle/ops.rs +++ b/crates/prover/src/core/poly/circle/ops.rs @@ -1,5 +1,5 @@ use super::{CanonicCoset, CircleDomain, CircleEvaluation, CirclePoly}; -use crate::core::backend::Col; +use crate::core::backend::{Col, ColumnOps}; use crate::core::circle::{CirclePoint, Coset}; use crate::core::fields::m31::BaseField; use crate::core::fields::qm31::SecureField; @@ -33,7 +33,11 @@ pub trait PolyOps: FieldOps + Sized { fn interpolate_columns( columns: &ColumnVec>, twiddles: &TwiddleTree, - ) -> Vec> { + ) -> Vec> where + CircleEvaluation: Send + Sync, + >::Column: Send + Sync, + ::Twiddles: Send + Sync + { #[cfg(feature = "parallel")] return columns .into_par_iter()