@@ -286,11 +286,22 @@ impl<E: FrameworkEval + Sync> ComponentProver<SimdBackend> for FrameworkComponen
286286 // Extend trace if necessary.
287287 // TODO: Don't extend when eval_size < committed_size. Instead, pick a good
288288 // subdomain. (For larger blowup factors).
289- nvtx_timed ! ( "extend trace" ) ;
289+ nvtx_timed ! ( "need_to_extend" ) ;
290+ #[ cfg( not( feature = "parallel" ) ) ]
290291 let need_to_extend = component_evals
291292 . iter ( )
292293 . flatten ( )
293294 . any ( |c| c. domain != eval_domain) ;
295+ nvtx_timed_pop ! ( ) ;
296+
297+ #[ cfg( feature = "parallel" ) ]
298+ let need_to_extend = component_evals
299+ . par_iter ( )
300+ . flat_map_iter ( |v| v. iter ( ) )
301+ . any ( |c| c. domain != eval_domain) ;
302+ nvtx_timed_pop ! ( ) ;
303+
304+ nvtx_timed ! ( "SIMD extend trace" ) ;
294305 let trace: TreeVec <
295306 Vec < Cow < ' _ , CircleEvaluation < SimdBackend , BaseField , BitReversedOrder > > > ,
296307 > = if need_to_extend {
@@ -578,13 +589,20 @@ impl<E: FrameworkEval + Sync> ComponentProver<IcicleBackend> for FrameworkCompon
578589 // Extend trace if necessary.
579590 // TODO: Don't extend when eval_size < committed_size. Instead, pick a good
580591 // subdomain. (For larger blowup factors).
581- nvtx_timed ! ( "extend trace" ) ;
592+ nvtx_timed ! ( "need_to_extend" ) ;
593+ #[ cfg( not( feature = "parallel" ) ) ]
582594 let need_to_extend = component_evals
583595 . iter ( )
584596 . flatten ( )
585597 . any ( |c| c. domain != eval_domain) ;
586598 nvtx_timed_pop ! ( ) ;
587599
600+ #[ cfg( feature = "parallel" ) ]
601+ let need_to_extend = component_evals
602+ . par_iter ( )
603+ . flat_map_iter ( |v| v. iter ( ) )
604+ . any ( |c| c. domain != eval_domain) ;
605+
588606 // Denom inverses.
589607 nvtx_timed ! ( "denom inverses" ) ;
590608 let log_expand = eval_domain. log_size ( ) - trace_domain. log_size ( ) ;
0 commit comments