diff --git a/ceno_zkvm/src/bin/e2e.rs b/ceno_zkvm/src/bin/e2e.rs index 79f0064a4..a33452ca2 100644 --- a/ceno_zkvm/src/bin/e2e.rs +++ b/ceno_zkvm/src/bin/e2e.rs @@ -25,6 +25,8 @@ struct Args { #[arg(long)] profiling: Option, + distinct_opcode: bool, + /// The preset configuration to use. #[arg(short, long, value_enum, default_value_t = Preset::Ceno)] platform: Preset, @@ -73,6 +75,9 @@ fn main() { .any(|field| metadata.fields().field(&field).is_some()) }); + let filter_non_collapsible = + filter_fn(move |metadata| metadata.fields().field("collapsible").is_none()); + let fmt_layer = fmt::layer() .compact() .with_thread_ids(false) @@ -80,6 +85,7 @@ fn main() { .without_time(); Registry::default() + .with(filter_non_collapsible) .with(ForestLayer::default()) .with(fmt_layer) // if some profiling granularity is specified, use the profiling filter, diff --git a/ceno_zkvm/src/scheme/prover.rs b/ceno_zkvm/src/scheme/prover.rs index e5ae01b8a..012db1f23 100644 --- a/ceno_zkvm/src/scheme/prover.rs +++ b/ceno_zkvm/src/scheme/prover.rs @@ -101,7 +101,8 @@ impl> ZKVMProver { let span = entered_span!( "commit to iteration", circuit_name = circuit_name, - profiling_2 = true + profiling_2 = true, + collapsible = true, ); let witness = match num_instances { 0 => vec![], @@ -212,7 +213,7 @@ impl> ZKVMProver { /// 1: witness layer inferring from input -> output /// 2: proof (sumcheck reduce) from output to input #[allow(clippy::too_many_arguments)] - #[tracing::instrument(skip_all, name = "create_opcode_proof", fields(circuit_name=name,profiling_2), level="trace")] + #[tracing::instrument(skip_all, name = "create_opcode_proof", fields(circuit_name=name,profiling_2,collapsible=true), level="trace")] pub fn create_opcode_proof( &self, name: &str, @@ -658,7 +659,7 @@ impl> ZKVMProver { /// support batch prove for logup + product arguments each with different num_vars() /// side effect: concurrency will be determine based on min(thread, num_vars()), /// so suggest dont batch too small table (size < threads) with large table together - #[tracing::instrument(skip_all, name = "create_table_proof", fields(table_name=name, profiling_2), level="trace")] + #[tracing::instrument(skip_all, name = "create_table_proof", fields(table_name=name, profiling_2,collapsible=true), level="trace")] pub fn create_table_proof( &self, name: &str,