Skip to content
Open
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
18 changes: 9 additions & 9 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions benchmarks/guest/kitchen-sink/openvm.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

[app_vm_config.modular]
supported_moduli = [
"1000000000000000003",
# secp256k1
"115792089237316195423570985008687907853269984665640564039457584007908834671663", # coordinate
"115792089237316195423570985008687907852837564279074904382605163141518161494337", # scalar
Expand All @@ -22,7 +21,6 @@ supported_moduli = [
"52435875175126190479447740508185965837690552500527637822603658699938581184513", # scalar
# 2^61 - 1
"2305843009213693951",
"7",
]

[app_vm_config.fp2]
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/guest/kitchen-sink/openvm_init.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file is automatically generated by cargo openvm. Do not rename or edit.
openvm_algebra_guest::moduli_macros::moduli_init! { "1000000000000000003", "115792089237316195423570985008687907853269984665640564039457584007908834671663", "115792089237316195423570985008687907852837564279074904382605163141518161494337", "115792089210356248762697446949407573530086143415290314195533631308867097853951", "115792089210356248762697446949407573529996955224135760342422259061068512044369", "21888242871839275222246405745257275088696311157297823662689037894645226208583", "21888242871839275222246405745257275088548364400416034343698204186575808495617", "4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787", "52435875175126190479447740508185965837690552500527637822603658699938581184513", "2305843009213693951", "7" }
openvm_algebra_guest::complex_macros::complex_init! { "Bn254Fp2" { mod_idx = 5 }, "Bls12_381Fp2" { mod_idx = 7 } }
openvm_algebra_guest::moduli_macros::moduli_init! { "115792089237316195423570985008687907853269984665640564039457584007908834671663", "115792089237316195423570985008687907852837564279074904382605163141518161494337", "115792089210356248762697446949407573530086143415290314195533631308867097853951", "115792089210356248762697446949407573529996955224135760342422259061068512044369", "21888242871839275222246405745257275088696311157297823662689037894645226208583", "21888242871839275222246405745257275088548364400416034343698204186575808495617", "4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787", "52435875175126190479447740508185965837690552500527637822603658699938581184513", "2305843009213693951" }
openvm_algebra_guest::complex_macros::complex_init! { "Bn254Fp2" { mod_idx = 4 }, "Bls12_381Fp2" { mod_idx = 6 } }
openvm_ecc_guest::sw_macros::sw_init! { "Secp256k1Point", "P256Point", "Bn254G1Affine", "Bls12_381G1Affine" }
12 changes: 0 additions & 12 deletions benchmarks/guest/kitchen-sink/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ use {

// Note: these will all currently be represented as bytes32 even though they could be smaller
openvm_algebra_guest::moduli_macros::moduli_declare! {
Seven { modulus = "7" },
Mod1e18 { modulus = "1000000000000000003" },
Mersenne61 { modulus = "0x1fffffffffffffff" },
}

Expand Down Expand Up @@ -67,7 +65,6 @@ fn materialize_ecc_chip<T: WeierstrassPoint + CyclicGroup>() {
pub fn main() {
// Since we don't explicitly call setup functions anymore, we must ensure every declared modulus
// and curve chip is materialized.
materialize_modular_chip::<Mod1e18>();
materialize_modular_chip::<Secp256k1Coord>();
materialize_modular_chip::<Secp256k1Scalar>();
materialize_modular_chip::<P256Coord>();
Expand All @@ -77,7 +74,6 @@ pub fn main() {
materialize_modular_chip::<Bls12_381Fp>();
materialize_modular_chip::<Bls12_381Scalar>();
materialize_modular_chip::<Mersenne61>();
materialize_modular_chip::<Seven>();

materialize_complex_chip!(Bn254Fp2, Bn254Fp);
materialize_complex_chip!(Bls12_381Fp2, Bls12_381Fp);
Expand All @@ -87,14 +83,6 @@ pub fn main() {
materialize_ecc_chip::<Bn254G1Affine>();
materialize_ecc_chip::<Bls12_381G1Affine>();

let [one, six] = [1, 6].map(Seven::from_u32);
assert_eq!(one + six, Seven::ZERO);

let y = Mod1e18::from_u32(100);
let y = (&y * &y) * &y;
let y = y.clone() * y.clone() * y.clone();
assert_eq!(y + Mod1e18::from_u32(3), Mod1e18::ZERO);

let mut bytes = [0u8; 32];
bytes[7] = 1 << 5; // 2^61 = modulus + 1
let mut res = Mersenne61::from_le_bytes_unchecked(&bytes); // No need to start from reduced representation
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/prove/src/bin/base64_json.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ fn main() -> Result<()> {
let data = include_str!("../../../guest/base64_json/json_payload_encoded.txt");

let fe_bytes = data.to_owned().into_bytes();
args.bench_from_exe::<SdkVmBuilder, _>(
args.bench_from_exe::<SdkVmBuilder>(
"base64_json",
config,
elf,
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/prove/src/bin/bincode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ fn main() -> Result<()> {
run_with_metric_collection("OUTPUT_PATH", || -> Result<()> {
let file_data = include_bytes!("../../../guest/bincode/minecraft_savedata.bin");
let stdin = StdIn::from_bytes(file_data);
args.bench_from_exe::<SdkVmBuilder, _>("bincode", config, elf, stdin)
args.bench_from_exe::<SdkVmBuilder>("bincode", config, elf, stdin)
})
}
7 changes: 1 addition & 6 deletions benchmarks/prove/src/bin/ecrecover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,6 @@ fn main() -> Result<()> {
.map(|s| make_input(&signing_key, s.as_bytes()))
.collect::<Vec<_>>(),
);
args.bench_from_exe::<SdkVmBuilder, _>(
"ecrecover_program",
config,
elf,
input_stream.into(),
)
args.bench_from_exe::<SdkVmBuilder>("ecrecover_program", config, elf, input_stream.into())
})
}
2 changes: 1 addition & 1 deletion benchmarks/prove/src/bin/fibonacci.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ fn main() -> Result<()> {
let n = 100_000u64;
let mut stdin = StdIn::default();
stdin.write(&n);
args.bench_from_exe::<SdkVmBuilder, _>("fibonacci_program", config, elf, stdin)
args.bench_from_exe::<SdkVmBuilder>("fibonacci_program", config, elf, stdin)
})
}
2 changes: 1 addition & 1 deletion benchmarks/prove/src/bin/pairing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ fn main() -> Result<()> {
let elf = args.build_bench_program("pairing", &vm_config, None)?;

run_with_metric_collection("OUTPUT_PATH", || -> Result<()> {
args.bench_from_exe::<SdkVmBuilder, _>("pairing", vm_config, elf, StdIn::default())
args.bench_from_exe::<SdkVmBuilder>("pairing", vm_config, elf, StdIn::default())
})
}
2 changes: 1 addition & 1 deletion benchmarks/prove/src/bin/regex.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ fn main() -> Result<()> {
let data = include_str!("../../../guest/regex/regex_email.txt");

let fe_bytes = data.to_owned().into_bytes();
args.bench_from_exe::<SdkVmBuilder, _>(
args.bench_from_exe::<SdkVmBuilder>(
"regex_program",
config,
elf,
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/prove/src/bin/revm_transfer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ fn main() -> Result<()> {
.app_vm_config;
let elf = args.build_bench_program("revm_transfer", &config, None)?;
run_with_metric_collection("OUTPUT_PATH", || -> Result<()> {
args.bench_from_exe::<SdkVmBuilder, _>("revm_100_transfers", config, elf, StdIn::default())
args.bench_from_exe::<SdkVmBuilder>("revm_100_transfers", config, elf, StdIn::default())
})
}
2 changes: 1 addition & 1 deletion benchmarks/prove/src/bin/rkyv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ fn main() -> Result<()> {
run_with_metric_collection("OUTPUT_PATH", || -> Result<()> {
let file_data = include_bytes!("../../../guest/rkyv/minecraft_savedata.bin");
let stdin = StdIn::from_bytes(file_data);
args.bench_from_exe::<SdkVmBuilder, _>("rkyv", config, elf, stdin)
args.bench_from_exe::<SdkVmBuilder>("rkyv", config, elf, stdin)
})
}
5 changes: 2 additions & 3 deletions benchmarks/prove/src/bin/verify_fibair.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ fn main() -> Result<()> {

let n = 1 << 15; // STARK to calculate (2 ** 15)th Fibonacci number.
let fib_chip = FibonacciChip::new(0, 1, n);
let engine = Poseidon2Engine::new(FriParameters::standard_with_100_bits_conjectured_security(
let engine = Poseidon2Engine::new(FriParameters::standard_with_100_bits_security(
app_log_blowup,
));

Expand All @@ -52,8 +52,7 @@ fn main() -> Result<()> {
let fib_ctx = fib_ctx.into_iter().map(cpu_proving_ctx_to_gpu).collect();
let vdata = engine.run_test(fib_air, fib_ctx).unwrap();
// Unlike other apps, this "app" does not have continuations enabled.
let app_fri_params =
FriParameters::standard_with_100_bits_conjectured_security(leaf_log_blowup);
let app_fri_params = FriParameters::standard_with_100_bits_security(leaf_log_blowup);
let mut app_vm_config = NativeConfig::aggregation(
DEFAULT_MAX_NUM_PUBLIC_VALUES,
app_fri_params.max_constraint_degree().min(7),
Expand Down
35 changes: 14 additions & 21 deletions benchmarks/prove/src/util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ use openvm_native_circuit::{NativeBuilder as DefaultNativeBuilder, NativeConfig}
use openvm_native_compiler::conversion::CompilerOptions;
use openvm_sdk::{
config::{
AggregationConfig, AggregationTreeConfig, AppConfig, Halo2Config, TranspilerConfig,
DEFAULT_APP_LOG_BLOWUP, DEFAULT_HALO2_VERIFIER_K, DEFAULT_INTERNAL_LOG_BLOWUP,
DEFAULT_LEAF_LOG_BLOWUP, DEFAULT_ROOT_LOG_BLOWUP,
AggregationConfig, AggregationTreeConfig, AppConfig, Halo2Config, SdkVmConfig,
TranspilerConfig, DEFAULT_APP_LOG_BLOWUP, DEFAULT_HALO2_VERIFIER_K,
DEFAULT_INTERNAL_LOG_BLOWUP, DEFAULT_LEAF_LOG_BLOWUP, DEFAULT_ROOT_LOG_BLOWUP,
},
keygen::_leaf_keygen,
prover::{verify_app_proof, vm::new_local_prover, LeafProvingController},
Expand Down Expand Up @@ -99,15 +99,9 @@ impl BenchmarkCli {
app_vm_config.as_mut().segmentation_limits.max_cells = max_cells;
}
AppConfig {
app_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
app_log_blowup,
)
.into(),
app_fri_params: FriParameters::standard_with_100_bits_security(app_log_blowup).into(),
app_vm_config,
leaf_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
leaf_log_blowup,
)
.into(),
leaf_fri_params: FriParameters::standard_with_100_bits_security(leaf_log_blowup).into(),
compiler_options: CompilerOptions {
enable_cycle_tracker: self.profiling,
..Default::default()
Expand All @@ -124,7 +118,7 @@ impl BenchmarkCli {

let [leaf_fri_params, internal_fri_params, root_fri_params] =
[leaf_log_blowup, internal_log_blowup, root_log_blowup]
.map(FriParameters::standard_with_100_bits_conjectured_security);
.map(FriParameters::standard_with_100_bits_security);

AggregationConfig {
leaf_fri_params,
Expand Down Expand Up @@ -168,17 +162,16 @@ impl BenchmarkCli {
build_elf(&manifest_dir, profile)
}

pub fn bench_from_exe<VB, VC>(
pub fn bench_from_exe<VB>(
&self,
bench_name: impl ToString,
vm_config: VC,
vm_config: SdkVmConfig,
exe: impl Into<ExecutableFormat>,
input_stream: StdIn,
) -> Result<()>
where
VB: VmBuilder<Poseidon2Engine, VmConfig = VC, RecordArena = RA> + Clone + Default,
VC: VmExecutionConfig<F> + VmConfig<SC> + TranspilerConfig<F>,
<VC as VmExecutionConfig<F>>::Executor:
VB: VmBuilder<Poseidon2Engine, VmConfig = SdkVmConfig, RecordArena = RA> + Clone + Default,
<SdkVmConfig as VmExecutionConfig<F>>::Executor:
Executor<F> + MeteredExecutor<F> + PreflightExecutor<F, RA>,
{
let app_config = self.app_config(vm_config);
Expand All @@ -205,16 +198,16 @@ impl BenchmarkCli {
/// Returns the data necessary for proof aggregation.
pub fn bench_from_exe<E, VB, NativeBuilder>(
bench_name: impl ToString,
app_config: AppConfig<VB::VmConfig>,
app_config: AppConfig<SdkVmConfig>,
exe: impl Into<ExecutableFormat>,
input_stream: StdIn,
leaf_vm_config: Option<NativeConfig>,
) -> Result<()>
where
E: StarkFriEngine<SC = SC>,
VB: VmBuilder<E> + Clone + Default,
VB::VmConfig: TranspilerConfig<F>,
<VB::VmConfig as VmExecutionConfig<F>>::Executor:
VB: VmBuilder<E, VmConfig = SdkVmConfig> + Clone + Default,
SdkVmConfig: TranspilerConfig<F>,
<SdkVmConfig as VmExecutionConfig<F>>::Executor:
Executor<F> + MeteredExecutor<F> + PreflightExecutor<F, VB::RecordArena>,
NativeBuilder: VmBuilder<E, VmConfig = NativeConfig> + Clone + Default,
<NativeConfig as VmExecutionConfig<F>>::Executor:
Expand Down
4 changes: 2 additions & 2 deletions crates/circuits/poseidon2-air/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use openvm_stark_backend::{
use openvm_stark_sdk::{
config::{
baby_bear_poseidon2::BabyBearPoseidon2Engine,
fri_params::standard_fri_params_with_100_bits_conjectured_security,
fri_params::standard_fri_params_with_100_bits_security,
},
engine::StarkFriEngine,
p3_baby_bear::BabyBear,
Expand Down Expand Up @@ -41,7 +41,7 @@ fn run_poseidon2_subchip_test(subchip: Arc<Poseidon2SubChip<BabyBear, 0>>, rng:
.collect();
let mut poseidon2_trace = subchip.generate_trace(states.clone());

let fri_params = standard_fri_params_with_100_bits_conjectured_security(3); // max constraint degree = 7 requires log blowup = 3
let fri_params = standard_fri_params_with_100_bits_security(3); // max constraint degree = 7 requires log blowup = 3
let engine = BabyBearPoseidon2Engine::new(fri_params);

// positive test
Expand Down
12 changes: 4 additions & 8 deletions crates/cli/src/default.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,20 +34,16 @@ pub fn default_evm_halo2_verifier_path() -> String {

pub fn default_app_config() -> AppConfig<SdkVmConfig> {
AppConfig {
app_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
DEFAULT_APP_LOG_BLOWUP,
)
.into(),
app_fri_params: FriParameters::standard_with_100_bits_security(DEFAULT_APP_LOG_BLOWUP)
.into(),
app_vm_config: SdkVmConfig::builder()
.system(Default::default())
.rv32i(Default::default())
.rv32m(Default::default())
.io(Default::default())
.build(),
leaf_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
DEFAULT_LEAF_LOG_BLOWUP,
)
.into(),
leaf_fri_params: FriParameters::standard_with_100_bits_security(DEFAULT_LEAF_LOG_BLOWUP)
.into(),
compiler_options: Default::default(),
}
}
14 changes: 5 additions & 9 deletions crates/sdk/src/config/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,13 @@ impl Default for AggregationConfig {
fn default() -> Self {
Self {
max_num_user_public_values: DEFAULT_MAX_NUM_PUBLIC_VALUES,
leaf_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
leaf_fri_params: FriParameters::standard_with_100_bits_security(
DEFAULT_LEAF_LOG_BLOWUP,
),
internal_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
internal_fri_params: FriParameters::standard_with_100_bits_security(
DEFAULT_INTERNAL_LOG_BLOWUP,
),
root_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
root_fri_params: FriParameters::standard_with_100_bits_security(
DEFAULT_ROOT_LOG_BLOWUP,
),
profiling: false,
Expand Down Expand Up @@ -161,9 +161,7 @@ pub struct AppFriParams {
impl Default for AppFriParams {
fn default() -> Self {
Self {
fri_params: FriParameters::standard_with_100_bits_conjectured_security(
DEFAULT_APP_LOG_BLOWUP,
),
fri_params: FriParameters::standard_with_100_bits_security(DEFAULT_APP_LOG_BLOWUP),
}
}
}
Expand All @@ -182,9 +180,7 @@ pub struct LeafFriParams {
impl Default for LeafFriParams {
fn default() -> Self {
Self {
fri_params: FriParameters::standard_with_100_bits_conjectured_security(
DEFAULT_LEAF_LOG_BLOWUP,
),
fri_params: FriParameters::standard_with_100_bits_security(DEFAULT_LEAF_LOG_BLOWUP),
}
}
}
Expand Down
Loading
Loading