Skip to content

Commit

Permalink
Default implementation that parallelizes extend_evals with Rayon
Browse files Browse the repository at this point in the history
  • Loading branch information
jarnesino committed Sep 4, 2024
1 parent 9f31da0 commit da84f11
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions crates/prover/src/core/poly/circle/ops.rs
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -33,7 +33,11 @@ pub trait PolyOps: FieldOps<BaseField> + Sized {
fn interpolate_columns(
columns: &ColumnVec<CircleEvaluation<Self, BaseField, BitReversedOrder>>,
twiddles: &TwiddleTree<Self>,
) -> Vec<CirclePoly<Self>> {
) -> Vec<CirclePoly<Self>> where
CircleEvaluation<Self, BaseField, BitReversedOrder>: Send + Sync,
<Self as ColumnOps<BaseField>>::Column: Send + Sync,
<Self as PolyOps>::Twiddles: Send + Sync
{
#[cfg(feature = "parallel")]
return columns
.into_par_iter()
Expand Down

0 comments on commit da84f11

Please sign in to comment.