Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 3 additions & 14 deletions crates/akita-config/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -575,24 +575,13 @@ mod sis_schedule_width_audit {
{
let d = u32::try_from(lp.d_a()).expect("ring dimension fits in u32");

let a_rank = min_secure_rank(
lp.inner_commit_matrix.sis_table_key(),
u64::try_from(lp.inner_width()).expect("inner width should fit in u64"),
)
.unwrap_or_else(|| {
lp.inner_commit_matrix.validate().unwrap_or_else(|error| {
panic!(
"missing audited A-row SIS width for D={d}, num_vars={num_vars}, level={level_idx}, lb={}, width={}",
"A-row SIS audit failed for D={d}, num_vars={num_vars}, level={level_idx}, lb={}, width={}: {error}",
lp.log_basis_inner,
lp.inner_width()
lp.inner_width(),
)
});
assert!(
a_rank <= lp.inner_commit_matrix.output_rank(),
"A-row SIS audit failed for D={d}, num_vars={num_vars}, level={level_idx}, lb={}, width={}, required_rank={a_rank}, actual_rank={}",
lp.log_basis_inner,
lp.inner_width(),
lp.inner_commit_matrix.output_rank(),
);

let b_rank = min_secure_rank(
lp.outer_commit_matrix.sis_table_key(),
Expand Down
26 changes: 26 additions & 0 deletions crates/akita-pcs/examples/profile/report.rs
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,10 @@ pub(crate) fn emit_runtime_schedule_summary(
n_a = lp.inner_commit_matrix.output_rank(),
n_b = lp.outer_commit_matrix.output_rank(),
n_d = lp.open_commit_matrix.output_rank(),
unchecked_l2_collision_sq = lp
.inner_commit_matrix
.unchecked_l2_collision_sq()
.unwrap_or(0),
challenge_l1_mass = lp.challenge_l1_mass(),
log_basis_inner = lp.log_basis_inner,
log_basis_outer = lp.log_basis_outer,
Expand Down Expand Up @@ -582,6 +586,22 @@ where
.next_w_eval()
.serialized_size(Compress::No);
let fold_grind_nonce_size = fold_grind_nonce_wire_bytes();
let unchecked_l2_diagnostic_size =
level
.unchecked_l2_norm_diagnostic
.as_ref()
.map_or(0, |diagnostic| {
diagnostic.norm_squared.serialized_size(Compress::No)
+ diagnostic
.leaf_round_coefficients
.iter()
.map(|coefficient| coefficient.serialized_size(Compress::No))
.sum::<usize>()
});
let unchecked_l2_norm_squared = level
.unchecked_l2_norm_diagnostic
.as_ref()
.map_or(0, |diagnostic| diagnostic.norm_squared);
let grind_nonce = level.fold_grind_nonce;

tracing::info!(
Expand All @@ -594,6 +614,8 @@ where
opening_payload_bytes = opening_payload_size,
fold_grind_nonce_bytes = fold_grind_nonce_size,
grind_nonce,
unchecked_l2_diagnostic_bytes = unchecked_l2_diagnostic_size,
unchecked_l2_norm_squared,
stage1_sumcheck_bytes = stage1_sumcheck_size,
stage1_interstage_claims_bytes = stage1_interstage_claims_size,
stage1_range_image_evaluation_bytes = stage1_range_image_evaluation_size,
Expand All @@ -606,6 +628,9 @@ where
eprintln!("[{label}] extension_opening_partials={extension_opening_partials_size} bytes");
eprintln!("[{label}] extension_opening_sumcheck={extension_opening_sumcheck_size} bytes");
eprintln!("[{label}] fold_grind_nonce={fold_grind_nonce_size} bytes");
eprintln!(
"[{label}] unchecked_l2_diagnostic={unchecked_l2_diagnostic_size} bytes, norm_squared={unchecked_l2_norm_squared}"
);
eprintln!("[{label}] stage1_sumcheck={stage1_sumcheck_size} bytes");
eprintln!("[{label}] stage1_interstage_claims={stage1_interstage_claims_size} bytes");
eprintln!(
Expand All @@ -624,6 +649,7 @@ where
+ extension_opening_sumcheck_size
+ opening_payload_size
+ fold_grind_nonce_size
+ unchecked_l2_diagnostic_size
+ stage1_sumcheck_size
+ stage1_interstage_claims_size
+ stage1_range_image_evaluation_size
Expand Down
8 changes: 8 additions & 0 deletions crates/akita-pcs/src/scheme/tests/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,10 @@ fn expected_same_point_batched_shape(
let root_shape = LevelProofShape {
extension_opening_reduction: None,
opening_payload_coeffs: opening_payload_coeffs(root_params),
unchecked_l2_diagnostic_coefficients: root_params
.inner_commit_matrix
.unchecked_l2_collision_sq()
.map(|_| root_rounds),
stage1_stages: DigitRangePlan::new(1usize << root_params.log_basis_open)
.expect("scheduled root range basis")
.stage_shapes(root_rounds),
Expand Down Expand Up @@ -194,6 +198,10 @@ fn expected_same_point_batched_shape(
recursive_folds.push(LevelProofShape {
extension_opening_reduction: None,
opening_payload_coeffs: opening_payload_coeffs(level_params),
unchecked_l2_diagnostic_coefficients: level_params
.inner_commit_matrix
.unchecked_l2_collision_sq()
.map(|_| rounds),
stage1_stages: DigitRangePlan::new(1usize << level_params.log_basis_open)
.expect("scheduled range basis")
.stage_shapes(rounds),
Expand Down
8 changes: 7 additions & 1 deletion crates/akita-planner/src/emit/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,11 @@ fn generated_entry(
.map(|step| GeneratedRecursiveFold {
payload_mode: step.params.witness.payload_mode,
witness: committed_group(&step.params.witness),
unchecked_l2_collision_sq: step
.params
.witness
.inner_commit_matrix
.unchecked_l2_collision_sq(),
num_digits_fold: step.params.witness.num_digits_fold as u32,
open_commit_matrix: open_matrix_params(
&step.params.open_commit_matrix,
Expand Down Expand Up @@ -418,9 +423,10 @@ fn emit_schedule_entry(
for fold in entry.recursive_folds {
writeln!(
out,
" GeneratedRecursiveFold {{ payload_mode: {}, witness: {}, num_digits_fold: {}, open_commit_matrix: {}, incoming_setup_prefix: {}, witness_partition: {} }},",
" GeneratedRecursiveFold {{ payload_mode: {}, witness: {}, unchecked_l2_collision_sq: {:?}, num_digits_fold: {}, open_commit_matrix: {}, incoming_setup_prefix: {}, witness_partition: {} }},",
emit_payload_mode(fold.payload_mode),
emit_committed_group(fold.witness),
fold.unchecked_l2_collision_sq,
fold.num_digits_fold,
emit_open_matrix(fold.open_commit_matrix),
emit_setup_prefix(fold.incoming_setup_prefix),
Expand Down
14 changes: 8 additions & 6 deletions crates/akita-planner/src/schedule_params.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@ use akita_field::AkitaError;
#[cfg(all(test, feature = "catalog-gen"))]
use akita_types::extension_opening_reduction_level_bytes;
use akita_types::sis::{
decomposed_s_block_ring_count, decomposed_t_ring_count, decomposed_w_ring_count,
num_digits_inner, num_digits_open, num_digits_setup_prefix_commit,
rounded_up_collision_inf_norm, rounded_up_role_a_inf_norm, BalancedSignedDigitFoldPolicy,
FoldWitnessNorms, HonestFoldPolicy, HonestFoldPolicySpec, HonestFoldSizingQuery,
InnerCommitMatrixParams, OpenCommitMatrixParams, OuterCommitMatrixParams, SisTableKey,
ceil_supported_l2_collision_sq, decomposed_s_block_ring_count, decomposed_t_ring_count,
decomposed_w_ring_count, num_digits_inner, num_digits_open, num_digits_setup_prefix_commit,
role_a_collision_l2_sq_for_response_bound, rounded_up_collision_inf_norm,
rounded_up_role_a_inf_norm, BalancedSignedDigitFoldPolicy, FoldWitnessNorms, HonestFoldPolicy,
HonestFoldPolicySpec, HonestFoldSizingQuery, InnerCommitMatrixParams, OpenCommitMatrixParams,
OuterCommitMatrixParams, SisTableKey, UNCHECKED_L2_DIAGNOSTIC_CHALLENGE_OP_NORM_CAP,
UNCHECKED_L2_DIAGNOSTIC_NORM_SQ_CAP,
};
use akita_types::{
level_proof_bytes, padded_setup_prefix_len, try_extension_opening_reduction_level_bytes,
Expand All @@ -43,7 +45,7 @@ mod unpruned_search;

pub use akita_types::suffix_opening_layout;
pub(crate) use candidate::{
derive_candidate_level_params, derive_candidate_level_params_all_splits,
derive_candidate_level_params_all_splits, derive_candidate_level_params_frontier,
planned_next_witness_len, scalar_root_fold_level_params_candidate,
};
pub(crate) use objective::{complete_schedule_score, select_complete_candidate};
Expand Down
2 changes: 1 addition & 1 deletion crates/akita-planner/src/schedule_params/candidate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ mod root;
mod setup_prefix;

pub(crate) use recursive::{
derive_candidate_level_params, derive_candidate_level_params_all_splits,
derive_candidate_level_params_all_splits, derive_candidate_level_params_frontier,
};
pub(crate) use root::scalar_root_fold_level_params_candidate;
pub(super) use setup_prefix::derive_setup_prefix_group;
Expand Down
Loading
Loading