diff --git a/Cargo.lock b/Cargo.lock index fc0c61a6c..89f2faf26 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -37,9 +37,9 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "autocfg" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] name = "blake2" @@ -52,9 +52,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" dependencies = [ "arrayref", "arrayvec", @@ -74,28 +74,28 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.15.3" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.14.3" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f" +checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" +checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.59", ] [[package]] @@ -106,9 +106,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.89" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723" +checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7" [[package]] name = "cfg-if" @@ -145,18 +145,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.1" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstyle", "clap_lex", @@ -275,9 +275,9 @@ dependencies = [ [[package]] name = "either" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" [[package]] name = "env_filter" @@ -310,9 +310,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" dependencies = [ "cfg-if", "libc", @@ -321,9 +321,9 @@ dependencies = [ [[package]] name = "half" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" dependencies = [ "cfg-if", "crunchy", @@ -372,9 +372,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" @@ -414,9 +414,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "nu-ansi-term" @@ -457,9 +457,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "plotters" @@ -497,18 +497,37 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "a56dea16b0a29e94408b9aa5e2940a4eedbd128a1ba20e8f7ae60fd3d465af0e" dependencies = [ "unicode-ident", ] +[[package]] +name = "prover" +version = "0.1.1" +dependencies = [ + "blake2", + "blake3", + "bytemuck", + "criterion", + "derivative", + "hex", + "itertools 0.12.1", + "num-traits", + "rand", + "test-log", + "thiserror", + "tracing", + "tracing-subscriber", +] + [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -545,9 +564,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -565,14 +584,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.3" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", "regex-automata 0.4.6", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -592,7 +611,7 @@ checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -603,9 +622,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "ryu" @@ -639,14 +658,14 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.59", ] [[package]] name = "serde_json" -version = "1.0.114" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" dependencies = [ "itoa", "ryu", @@ -664,28 +683,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" - -[[package]] -name = "stwo" -version = "0.1.1" -dependencies = [ - "blake2", - "blake3", - "bytemuck", - "criterion", - "derivative", - "hex", - "itertools 0.12.1", - "num-traits", - "rand", - "test-log", - "thiserror", - "tracing", - "tracing-subscriber", -] +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "subtle" @@ -706,9 +706,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.52" +version = "2.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" +checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a" dependencies = [ "proc-macro2", "quote", @@ -734,27 +734,27 @@ checksum = "c8f546451eaa38373f549093fe9fd05e7d2bade739e2ddf834b9968621d60107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.59", ] [[package]] name = "thiserror" -version = "1.0.57" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.57" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.59", ] [[package]] @@ -796,7 +796,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.59", ] [[package]] @@ -899,7 +899,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.59", "wasm-bindgen-shared", ] @@ -921,7 +921,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.59", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -984,13 +984,14 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", + "windows_i686_gnullvm", "windows_i686_msvc", "windows_x86_64_gnu", "windows_x86_64_gnullvm", @@ -999,42 +1000,48 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" -version = "0.52.4" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" diff --git a/Cargo.toml b/Cargo.toml index a53789359..64d059114 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,11 +1,12 @@ -[package] +[workspace] +members = ["crates/prover"] + +[workspace.package] name = "stwo" version = "0.1.1" edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] +[workspace.dependencies] blake2 = "0.10.6" blake3 = "1.5.0" derivative = "2.2.0" @@ -13,60 +14,9 @@ hex = "0.4.3" itertools = "0.12.0" num-traits = "0.2.17" thiserror = "1.0.56" -bytemuck = { version = "1.14.3", features = ["derive"] } +bytemuck = "1.14.3" tracing = "0.1.40" -[dev-dependencies] -criterion = { version = "0.5.1", features = ["html_reports"] } -rand = { version = "0.8.5", features = ["small_rng"] } -tracing-subscriber = "0.3.18" -test-log = { version = "0.2.15", features = ["trace"] } - -[lib] -bench = false - -[lints.rust] -warnings = "deny" -future-incompatible = "deny" -nonstandard-style = "deny" -rust-2018-idioms = "deny" -unused = "deny" - -[features] -avx512 = [] - [profile.bench] codegen-units = 1 lto = true - -[[bench]] -name = "bit_rev" -harness = false - -[[bench]] -name = "fft" -harness = false - -[[bench]] -harness = false -name = "field" - -[[bench]] -harness = false -name = "matrix" - -[[bench]] -name = "merkle" -harness = false - -[[bench]] -name = "fri" -harness = false - -[[bench]] -name = "eval_at_point" -harness = false - -[[bench]] -name = "quotients" -harness = false diff --git a/crates/prover/Cargo.toml b/crates/prover/Cargo.toml new file mode 100644 index 000000000..bfb805231 --- /dev/null +++ b/crates/prover/Cargo.toml @@ -0,0 +1,68 @@ +[package] +name = "prover" +version.workspace = true +edition.workspace = true + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +blake2.workspace = true +blake3.workspace = true +derivative.workspace = true +hex.workspace = true +itertools.workspace = true +num-traits.workspace = true +thiserror.workspace = true +bytemuck = { workspace = true, features = ["derive"] } +tracing.workspace = true + +[dev-dependencies] +criterion = { version = "0.5.1", features = ["html_reports"] } +rand = { version = "0.8.5", features = ["small_rng"] } +test-log = { version = "0.2.15", features = ["trace"] } +tracing-subscriber = "0.3.18" + +[lib] +bench = false + +[lints.rust] +warnings = "deny" +future-incompatible = "deny" +nonstandard-style = "deny" +rust-2018-idioms = "deny" +unused = "deny" + +[features] +avx512 = [] + +[[bench]] +name = "bit_rev" +harness = false + +[[bench]] +name = "fft" +harness = false + +[[bench]] +harness = false +name = "field" + +[[bench]] +harness = false +name = "matrix" + +[[bench]] +name = "merkle" +harness = false + +[[bench]] +name = "fri" +harness = false + +[[bench]] +name = "eval_at_point" +harness = false + +[[bench]] +name = "quotients" +harness = false diff --git a/benches/README.md b/crates/prover/benches/README.md similarity index 100% rename from benches/README.md rename to crates/prover/benches/README.md diff --git a/benches/bit_rev.rs b/crates/prover/benches/bit_rev.rs similarity index 79% rename from benches/bit_rev.rs rename to crates/prover/benches/bit_rev.rs index 4595dcb0f..92948e008 100644 --- a/benches/bit_rev.rs +++ b/crates/prover/benches/bit_rev.rs @@ -4,7 +4,7 @@ use criterion::Criterion; #[cfg(target_arch = "x86_64")] pub fn cpu_bit_rev(c: &mut criterion::Criterion) { - use stwo::core::fields::m31::BaseField; + use prover::core::fields::m31::BaseField; const SIZE: usize = 1 << 24; let mut data: Vec<_> = (0..SIZE as u32) @@ -13,7 +13,7 @@ pub fn cpu_bit_rev(c: &mut criterion::Criterion) { c.bench_function("cpu bit_rev 24bit", |b| { b.iter(|| { - stwo::core::utils::bit_reverse(&mut data); + prover::core::utils::bit_reverse(&mut data); }) }); } @@ -21,10 +21,10 @@ pub fn cpu_bit_rev(c: &mut criterion::Criterion) { #[cfg(target_arch = "x86_64")] pub fn avx512_bit_rev(c: &mut criterion::Criterion) { use bytemuck::cast_slice_mut; - use stwo::core::backend::avx512::bit_reverse::bit_reverse_m31; - use stwo::core::backend::avx512::m31::PackedBaseField; - use stwo::core::fields::m31::BaseField; - use stwo::platform; + use prover::core::backend::avx512::bit_reverse::bit_reverse_m31; + use prover::core::backend::avx512::m31::PackedBaseField; + use prover::core::fields::m31::BaseField; + use prover::platform; if !platform::avx512_detected() { return; } diff --git a/benches/eval_at_point.rs b/crates/prover/benches/eval_at_point.rs similarity index 80% rename from benches/eval_at_point.rs rename to crates/prover/benches/eval_at_point.rs index 642b44fe4..1b148edbc 100644 --- a/benches/eval_at_point.rs +++ b/crates/prover/benches/eval_at_point.rs @@ -2,14 +2,14 @@ use criterion::{black_box, Criterion}; #[cfg(target_arch = "x86_64")] pub fn cpu_eval_at_secure_point(c: &mut criterion::Criterion) { + use prover::core::backend::CPUBackend; + use prover::core::circle::CirclePoint; + use prover::core::fields::m31::BaseField; + use prover::core::fields::qm31::QM31; + use prover::core::poly::circle::{CanonicCoset, CircleEvaluation, PolyOps}; + use prover::core::poly::NaturalOrder; use rand::rngs::StdRng; use rand::{Rng, SeedableRng}; - use stwo::core::backend::CPUBackend; - use stwo::core::circle::CirclePoint; - use stwo::core::fields::m31::BaseField; - use stwo::core::fields::qm31::QM31; - use stwo::core::poly::circle::{CanonicCoset, CircleEvaluation, PolyOps}; - use stwo::core::poly::NaturalOrder; let log_size = 20; let rng = &mut StdRng::seed_from_u64(0); @@ -44,14 +44,14 @@ pub fn cpu_eval_at_secure_point(c: &mut criterion::Criterion) { #[cfg(target_arch = "x86_64")] pub fn avx512_eval_at_secure_point(c: &mut criterion::Criterion) { + use prover::core::backend::avx512::AVX512Backend; + use prover::core::circle::CirclePoint; + use prover::core::fields::m31::BaseField; + use prover::core::fields::qm31::QM31; + use prover::core::poly::circle::{CanonicCoset, CircleEvaluation, PolyOps}; + use prover::core::poly::NaturalOrder; use rand::rngs::StdRng; use rand::{Rng, SeedableRng}; - use stwo::core::backend::avx512::AVX512Backend; - use stwo::core::circle::CirclePoint; - use stwo::core::fields::m31::BaseField; - use stwo::core::fields::qm31::QM31; - use stwo::core::poly::circle::{CanonicCoset, CircleEvaluation, PolyOps}; - use stwo::core::poly::NaturalOrder; let log_size = 20; let rng = &mut StdRng::seed_from_u64(0); diff --git a/benches/fft.rs b/crates/prover/benches/fft.rs similarity index 89% rename from benches/fft.rs rename to crates/prover/benches/fft.rs index 6235e5b60..26ef2a755 100644 --- a/benches/fft.rs +++ b/crates/prover/benches/fft.rs @@ -1,16 +1,16 @@ #![feature(iter_array_chunks)] use criterion::{BenchmarkId, Criterion, Throughput}; -use stwo::core::backend::avx512::fft::ifft::get_itwiddle_dbls; -use stwo::core::backend::avx512::fft::transpose_vecs; -use stwo::core::backend::avx512::{BaseFieldVec, PackedBaseField}; -use stwo::core::fields::m31::BaseField; -use stwo::core::poly::circle::CanonicCoset; +use prover::core::backend::avx512::fft::ifft::get_itwiddle_dbls; +use prover::core::backend::avx512::fft::transpose_vecs; +use prover::core::backend::avx512::{BaseFieldVec, PackedBaseField}; +use prover::core::fields::m31::BaseField; +use prover::core::poly::circle::CanonicCoset; #[cfg(target_arch = "x86_64")] pub fn avx512_ifft(c: &mut criterion::Criterion) { - use stwo::core::backend::avx512::fft::ifft; - use stwo::platform; + use prover::core::backend::avx512::fft::ifft; + use prover::platform; if !platform::avx512_detected() { return; } @@ -39,8 +39,8 @@ pub fn avx512_ifft(c: &mut criterion::Criterion) { #[cfg(target_arch = "x86_64")] pub fn avx512_ifft_parts(c: &mut criterion::Criterion) { - use stwo::core::backend::avx512::fft::ifft; - use stwo::platform; + use prover::core::backend::avx512::fft::ifft; + use prover::platform; if !platform::avx512_detected() { return; } @@ -95,8 +95,8 @@ pub fn avx512_ifft_parts(c: &mut criterion::Criterion) { #[cfg(target_arch = "x86_64")] pub fn avx512_rfft(c: &mut criterion::Criterion) { - use stwo::core::backend::avx512::fft::rfft; - use stwo::platform; + use prover::core::backend::avx512::fft::rfft; + use prover::platform; if !platform::avx512_detected() { return; } diff --git a/benches/field.rs b/crates/prover/benches/field.rs similarity index 96% rename from benches/field.rs rename to crates/prover/benches/field.rs index 564ed4cf7..4fa45b2de 100644 --- a/benches/field.rs +++ b/crates/prover/benches/field.rs @@ -1,9 +1,9 @@ use criterion::Criterion; +use prover::core::fields::cm31::CM31; +use prover::core::fields::m31::{M31, P}; +use prover::core::fields::qm31::SecureField; use rand::rngs::ThreadRng; use rand::Rng; -use stwo::core::fields::cm31::CM31; -use stwo::core::fields::m31::{M31, P}; -use stwo::core::fields::qm31::SecureField; pub const N_ELEMENTS: usize = 1 << 16; pub const N_STATE_ELEMENTS: usize = 8; @@ -131,8 +131,8 @@ pub fn qm31_operations_bench(c: &mut criterion::Criterion) { #[cfg(target_arch = "x86_64")] pub fn avx512_m31_operations_bench(c: &mut criterion::Criterion) { - use stwo::core::backend::avx512::m31::{PackedBaseField, K_BLOCK_SIZE}; - use stwo::platform; + use prover::core::backend::avx512::m31::{PackedBaseField, K_BLOCK_SIZE}; + use prover::platform; if !platform::avx512_detected() { return; diff --git a/benches/fri.rs b/crates/prover/benches/fri.rs similarity index 73% rename from benches/fri.rs rename to crates/prover/benches/fri.rs index 2e645bfbf..f9050ac9a 100644 --- a/benches/fri.rs +++ b/crates/prover/benches/fri.rs @@ -1,11 +1,11 @@ use criterion::{black_box, criterion_group, criterion_main, Criterion}; -use stwo::core::backend::CPUBackend; -use stwo::core::fields::m31::BaseField; -use stwo::core::fields::qm31::SecureField; -use stwo::core::fields::secure_column::SecureColumn; -use stwo::core::fri::FriOps; -use stwo::core::poly::circle::{CanonicCoset, PolyOps}; -use stwo::core::poly::line::{LineDomain, LineEvaluation}; +use prover::core::backend::CPUBackend; +use prover::core::fields::m31::BaseField; +use prover::core::fields::qm31::SecureField; +use prover::core::fields::secure_column::SecureColumn; +use prover::core::fri::FriOps; +use prover::core::poly::circle::{CanonicCoset, PolyOps}; +use prover::core::poly::line::{LineDomain, LineEvaluation}; fn folding_benchmark(c: &mut Criterion) { const LOG_SIZE: u32 = 12; diff --git a/benches/matrix.rs b/crates/prover/benches/matrix.rs similarity index 93% rename from benches/matrix.rs rename to crates/prover/benches/matrix.rs index 0ec240561..ae2c9c9ee 100644 --- a/benches/matrix.rs +++ b/crates/prover/benches/matrix.rs @@ -1,8 +1,8 @@ use criterion::{black_box, criterion_group, criterion_main, Criterion}; +use prover::core::fields::m31::{M31, P}; +use prover::core::fields::qm31::QM31; +use prover::math::matrix::{RowMajorMatrix, SquareMatrix}; use rand::Rng; -use stwo::core::fields::m31::{M31, P}; -use stwo::core::fields::qm31::QM31; -use stwo::math::matrix::{RowMajorMatrix, SquareMatrix}; const MATRIX_SIZE: usize = 24; const QM31_MATRIX_SIZE: usize = 6; diff --git a/benches/merkle.rs b/crates/prover/benches/merkle.rs similarity index 87% rename from benches/merkle.rs rename to crates/prover/benches/merkle.rs index c2a82e619..d0aaae21e 100644 --- a/benches/merkle.rs +++ b/crates/prover/benches/merkle.rs @@ -6,11 +6,11 @@ use criterion::Criterion; pub fn cpu_merkle(c: &mut criterion::Criterion) { use itertools::Itertools; use num_traits::Zero; - use stwo::commitment_scheme::ops::MerkleOps; - use stwo::core::backend::avx512::AVX512Backend; - use stwo::core::backend::{CPUBackend, Col}; - use stwo::core::fields::m31::BaseField; - use stwo::platform; + use prover::commitment_scheme::ops::MerkleOps; + use prover::core::backend::avx512::AVX512Backend; + use prover::core::backend::{CPUBackend, Col}; + use prover::core::fields::m31::BaseField; + use prover::platform; const N_COLS: usize = 1 << 8; const LOG_SIZE: u32 = 16; diff --git a/benches/quotients.rs b/crates/prover/benches/quotients.rs similarity index 87% rename from benches/quotients.rs rename to crates/prover/benches/quotients.rs index 625c20b9f..d9299ff9b 100644 --- a/benches/quotients.rs +++ b/crates/prover/benches/quotients.rs @@ -2,13 +2,13 @@ use criterion::{black_box, Criterion}; use itertools::Itertools; -use stwo::core::backend::CPUBackend; -use stwo::core::circle::SECURE_FIELD_CIRCLE_GEN; -use stwo::core::commitment_scheme::quotients::{ColumnSampleBatch, QuotientOps}; -use stwo::core::fields::m31::BaseField; -use stwo::core::fields::qm31::SecureField; -use stwo::core::poly::circle::{CanonicCoset, CircleEvaluation}; -use stwo::core::poly::BitReversedOrder; +use prover::core::backend::CPUBackend; +use prover::core::circle::SECURE_FIELD_CIRCLE_GEN; +use prover::core::commitment_scheme::quotients::{ColumnSampleBatch, QuotientOps}; +use prover::core::fields::m31::BaseField; +use prover::core::fields::qm31::SecureField; +use prover::core::poly::circle::{CanonicCoset, CircleEvaluation}; +use prover::core::poly::BitReversedOrder; pub fn cpu_quotients(c: &mut criterion::Criterion) { const LOG_SIZE: u32 = 16; @@ -43,7 +43,7 @@ pub fn cpu_quotients(c: &mut criterion::Criterion) { #[cfg(target_arch = "x86_64")] pub fn avx512_quotients(c: &mut criterion::Criterion) { - use stwo::core::backend::avx512::AVX512Backend; + use prover::core::backend::avx512::AVX512Backend; const LOG_SIZE: u32 = 20; const SIZE: usize = 1 << LOG_SIZE; diff --git a/src/commitment_scheme/blake2_hash.rs b/crates/prover/src/commitment_scheme/blake2_hash.rs similarity index 100% rename from src/commitment_scheme/blake2_hash.rs rename to crates/prover/src/commitment_scheme/blake2_hash.rs diff --git a/src/commitment_scheme/blake2_merkle.rs b/crates/prover/src/commitment_scheme/blake2_merkle.rs similarity index 100% rename from src/commitment_scheme/blake2_merkle.rs rename to crates/prover/src/commitment_scheme/blake2_merkle.rs diff --git a/src/commitment_scheme/blake2s_ref.rs b/crates/prover/src/commitment_scheme/blake2s_ref.rs similarity index 100% rename from src/commitment_scheme/blake2s_ref.rs rename to crates/prover/src/commitment_scheme/blake2s_ref.rs diff --git a/src/commitment_scheme/blake3_hash.rs b/crates/prover/src/commitment_scheme/blake3_hash.rs similarity index 100% rename from src/commitment_scheme/blake3_hash.rs rename to crates/prover/src/commitment_scheme/blake3_hash.rs diff --git a/src/commitment_scheme/hasher.rs b/crates/prover/src/commitment_scheme/hasher.rs similarity index 93% rename from src/commitment_scheme/hasher.rs rename to crates/prover/src/commitment_scheme/hasher.rs index 116dfa0bb..b366417ba 100644 --- a/src/commitment_scheme/hasher.rs +++ b/crates/prover/src/commitment_scheme/hasher.rs @@ -11,8 +11,8 @@ pub trait Name { /// # Example /// /// ``` -/// use stwo::commitment_scheme::blake3_hash::Blake3Hasher; -/// use stwo::commitment_scheme::hasher::Hasher; +/// use prover::commitment_scheme::blake3_hash::Blake3Hasher; +/// use prover::commitment_scheme::hasher::Hasher; /// /// let mut hasher = Blake3Hasher::new(); /// hasher.update(&[1, 2, 3]); diff --git a/src/commitment_scheme/mod.rs b/crates/prover/src/commitment_scheme/mod.rs similarity index 100% rename from src/commitment_scheme/mod.rs rename to crates/prover/src/commitment_scheme/mod.rs diff --git a/src/commitment_scheme/ops.rs b/crates/prover/src/commitment_scheme/ops.rs similarity index 100% rename from src/commitment_scheme/ops.rs rename to crates/prover/src/commitment_scheme/ops.rs diff --git a/src/commitment_scheme/prover.rs b/crates/prover/src/commitment_scheme/prover.rs similarity index 100% rename from src/commitment_scheme/prover.rs rename to crates/prover/src/commitment_scheme/prover.rs diff --git a/src/commitment_scheme/utils.rs b/crates/prover/src/commitment_scheme/utils.rs similarity index 100% rename from src/commitment_scheme/utils.rs rename to crates/prover/src/commitment_scheme/utils.rs diff --git a/src/commitment_scheme/verifier.rs b/crates/prover/src/commitment_scheme/verifier.rs similarity index 100% rename from src/commitment_scheme/verifier.rs rename to crates/prover/src/commitment_scheme/verifier.rs diff --git a/src/core/air/accumulation.rs b/crates/prover/src/core/air/accumulation.rs similarity index 100% rename from src/core/air/accumulation.rs rename to crates/prover/src/core/air/accumulation.rs diff --git a/src/core/air/air_ext.rs b/crates/prover/src/core/air/air_ext.rs similarity index 100% rename from src/core/air/air_ext.rs rename to crates/prover/src/core/air/air_ext.rs diff --git a/src/core/air/mask.rs b/crates/prover/src/core/air/mask.rs similarity index 100% rename from src/core/air/mask.rs rename to crates/prover/src/core/air/mask.rs diff --git a/src/core/air/mod.rs b/crates/prover/src/core/air/mod.rs similarity index 100% rename from src/core/air/mod.rs rename to crates/prover/src/core/air/mod.rs diff --git a/src/core/backend/avx512/accumulation.rs b/crates/prover/src/core/backend/avx512/accumulation.rs similarity index 100% rename from src/core/backend/avx512/accumulation.rs rename to crates/prover/src/core/backend/avx512/accumulation.rs diff --git a/src/core/backend/avx512/bit_reverse.rs b/crates/prover/src/core/backend/avx512/bit_reverse.rs similarity index 100% rename from src/core/backend/avx512/bit_reverse.rs rename to crates/prover/src/core/backend/avx512/bit_reverse.rs diff --git a/src/core/backend/avx512/blake2s.rs b/crates/prover/src/core/backend/avx512/blake2s.rs similarity index 100% rename from src/core/backend/avx512/blake2s.rs rename to crates/prover/src/core/backend/avx512/blake2s.rs diff --git a/src/core/backend/avx512/blake2s_avx.rs b/crates/prover/src/core/backend/avx512/blake2s_avx.rs similarity index 100% rename from src/core/backend/avx512/blake2s_avx.rs rename to crates/prover/src/core/backend/avx512/blake2s_avx.rs diff --git a/src/core/backend/avx512/circle.rs b/crates/prover/src/core/backend/avx512/circle.rs similarity index 100% rename from src/core/backend/avx512/circle.rs rename to crates/prover/src/core/backend/avx512/circle.rs diff --git a/src/core/backend/avx512/cm31.rs b/crates/prover/src/core/backend/avx512/cm31.rs similarity index 100% rename from src/core/backend/avx512/cm31.rs rename to crates/prover/src/core/backend/avx512/cm31.rs diff --git a/src/core/backend/avx512/fft/ifft.rs b/crates/prover/src/core/backend/avx512/fft/ifft.rs similarity index 100% rename from src/core/backend/avx512/fft/ifft.rs rename to crates/prover/src/core/backend/avx512/fft/ifft.rs diff --git a/src/core/backend/avx512/fft/mod.rs b/crates/prover/src/core/backend/avx512/fft/mod.rs similarity index 100% rename from src/core/backend/avx512/fft/mod.rs rename to crates/prover/src/core/backend/avx512/fft/mod.rs diff --git a/src/core/backend/avx512/fft/rfft.rs b/crates/prover/src/core/backend/avx512/fft/rfft.rs similarity index 100% rename from src/core/backend/avx512/fft/rfft.rs rename to crates/prover/src/core/backend/avx512/fft/rfft.rs diff --git a/src/core/backend/avx512/fri.rs b/crates/prover/src/core/backend/avx512/fri.rs similarity index 100% rename from src/core/backend/avx512/fri.rs rename to crates/prover/src/core/backend/avx512/fri.rs diff --git a/src/core/backend/avx512/m31.rs b/crates/prover/src/core/backend/avx512/m31.rs similarity index 100% rename from src/core/backend/avx512/m31.rs rename to crates/prover/src/core/backend/avx512/m31.rs diff --git a/src/core/backend/avx512/mod.rs b/crates/prover/src/core/backend/avx512/mod.rs similarity index 100% rename from src/core/backend/avx512/mod.rs rename to crates/prover/src/core/backend/avx512/mod.rs diff --git a/src/core/backend/avx512/qm31.rs b/crates/prover/src/core/backend/avx512/qm31.rs similarity index 100% rename from src/core/backend/avx512/qm31.rs rename to crates/prover/src/core/backend/avx512/qm31.rs diff --git a/src/core/backend/avx512/quotients.rs b/crates/prover/src/core/backend/avx512/quotients.rs similarity index 100% rename from src/core/backend/avx512/quotients.rs rename to crates/prover/src/core/backend/avx512/quotients.rs diff --git a/src/core/backend/avx512/tranpose_utils.rs b/crates/prover/src/core/backend/avx512/tranpose_utils.rs similarity index 100% rename from src/core/backend/avx512/tranpose_utils.rs rename to crates/prover/src/core/backend/avx512/tranpose_utils.rs diff --git a/src/core/backend/cpu/accumulation.rs b/crates/prover/src/core/backend/cpu/accumulation.rs similarity index 100% rename from src/core/backend/cpu/accumulation.rs rename to crates/prover/src/core/backend/cpu/accumulation.rs diff --git a/src/core/backend/cpu/blake2s.rs b/crates/prover/src/core/backend/cpu/blake2s.rs similarity index 100% rename from src/core/backend/cpu/blake2s.rs rename to crates/prover/src/core/backend/cpu/blake2s.rs diff --git a/src/core/backend/cpu/circle.rs b/crates/prover/src/core/backend/cpu/circle.rs similarity index 100% rename from src/core/backend/cpu/circle.rs rename to crates/prover/src/core/backend/cpu/circle.rs diff --git a/src/core/backend/cpu/fri.rs b/crates/prover/src/core/backend/cpu/fri.rs similarity index 100% rename from src/core/backend/cpu/fri.rs rename to crates/prover/src/core/backend/cpu/fri.rs diff --git a/src/core/backend/cpu/lookups/mle.rs b/crates/prover/src/core/backend/cpu/lookups/mle.rs similarity index 100% rename from src/core/backend/cpu/lookups/mle.rs rename to crates/prover/src/core/backend/cpu/lookups/mle.rs diff --git a/src/core/backend/cpu/lookups/mod.rs b/crates/prover/src/core/backend/cpu/lookups/mod.rs similarity index 100% rename from src/core/backend/cpu/lookups/mod.rs rename to crates/prover/src/core/backend/cpu/lookups/mod.rs diff --git a/src/core/backend/cpu/mod.rs b/crates/prover/src/core/backend/cpu/mod.rs similarity index 100% rename from src/core/backend/cpu/mod.rs rename to crates/prover/src/core/backend/cpu/mod.rs diff --git a/src/core/backend/cpu/quotients.rs b/crates/prover/src/core/backend/cpu/quotients.rs similarity index 100% rename from src/core/backend/cpu/quotients.rs rename to crates/prover/src/core/backend/cpu/quotients.rs diff --git a/src/core/backend/mod.rs b/crates/prover/src/core/backend/mod.rs similarity index 100% rename from src/core/backend/mod.rs rename to crates/prover/src/core/backend/mod.rs diff --git a/src/core/channel.rs b/crates/prover/src/core/channel.rs similarity index 100% rename from src/core/channel.rs rename to crates/prover/src/core/channel.rs diff --git a/src/core/circle.rs b/crates/prover/src/core/circle.rs similarity index 97% rename from src/core/circle.rs rename to crates/prover/src/core/circle.rs index c0a7b9cf5..e3fe7ccb8 100644 --- a/src/core/circle.rs +++ b/crates/prover/src/core/circle.rs @@ -31,8 +31,8 @@ impl CirclePoint { /// # Examples /// /// ``` - /// use stwo::core::circle::{CirclePoint, M31_CIRCLE_GEN}; - /// use stwo::core::fields::m31::M31; + /// use prover::core::circle::{CirclePoint, M31_CIRCLE_GEN}; + /// use prover::core::fields::m31::M31; /// let p = M31_CIRCLE_GEN.mul(17); /// assert_eq!(CirclePoint::double_x(p.x), (p + p).x); /// ``` @@ -47,8 +47,8 @@ impl CirclePoint { /// # Examples /// /// ``` - /// use stwo::core::circle::{CirclePoint, M31_CIRCLE_GEN, M31_CIRCLE_LOG_ORDER}; - /// use stwo::core::fields::m31::M31; + /// use prover::core::circle::{CirclePoint, M31_CIRCLE_GEN, M31_CIRCLE_LOG_ORDER}; + /// use prover::core::fields::m31::M31; /// assert_eq!(M31_CIRCLE_GEN.log_order(), M31_CIRCLE_LOG_ORDER); /// ``` pub fn log_order(&self) -> u32 { @@ -176,8 +176,8 @@ impl CirclePoint { /// # Examples /// /// ``` -/// use stwo::core::circle::{CirclePoint, M31_CIRCLE_GEN}; -/// use stwo::core::fields::m31::M31; +/// use prover::core::circle::{CirclePoint, M31_CIRCLE_GEN}; +/// use prover::core::fields::m31::M31; /// /// // Adding a generator to itself (2^30) times should NOT yield the identity. /// let circle_point = M31_CIRCLE_GEN.repeated_double(30); diff --git a/src/core/commitment_scheme/mod.rs b/crates/prover/src/core/commitment_scheme/mod.rs similarity index 100% rename from src/core/commitment_scheme/mod.rs rename to crates/prover/src/core/commitment_scheme/mod.rs diff --git a/src/core/commitment_scheme/prover.rs b/crates/prover/src/core/commitment_scheme/prover.rs similarity index 100% rename from src/core/commitment_scheme/prover.rs rename to crates/prover/src/core/commitment_scheme/prover.rs diff --git a/src/core/commitment_scheme/quotients.rs b/crates/prover/src/core/commitment_scheme/quotients.rs similarity index 100% rename from src/core/commitment_scheme/quotients.rs rename to crates/prover/src/core/commitment_scheme/quotients.rs diff --git a/src/core/commitment_scheme/utils.rs b/crates/prover/src/core/commitment_scheme/utils.rs similarity index 100% rename from src/core/commitment_scheme/utils.rs rename to crates/prover/src/core/commitment_scheme/utils.rs diff --git a/src/core/commitment_scheme/verifier.rs b/crates/prover/src/core/commitment_scheme/verifier.rs similarity index 100% rename from src/core/commitment_scheme/verifier.rs rename to crates/prover/src/core/commitment_scheme/verifier.rs diff --git a/src/core/constraints.rs b/crates/prover/src/core/constraints.rs similarity index 100% rename from src/core/constraints.rs rename to crates/prover/src/core/constraints.rs diff --git a/src/core/fft.rs b/crates/prover/src/core/fft.rs similarity index 100% rename from src/core/fft.rs rename to crates/prover/src/core/fft.rs diff --git a/src/core/fields/cm31.rs b/crates/prover/src/core/fields/cm31.rs similarity index 100% rename from src/core/fields/cm31.rs rename to crates/prover/src/core/fields/cm31.rs diff --git a/src/core/fields/m31.rs b/crates/prover/src/core/fields/m31.rs similarity index 100% rename from src/core/fields/m31.rs rename to crates/prover/src/core/fields/m31.rs diff --git a/src/core/fields/mod.rs b/crates/prover/src/core/fields/mod.rs similarity index 98% rename from src/core/fields/mod.rs rename to crates/prover/src/core/fields/mod.rs index b35d49f80..71dc5f817 100644 --- a/src/core/fields/mod.rs +++ b/crates/prover/src/core/fields/mod.rs @@ -139,9 +139,9 @@ pub trait ComplexConjugate { /// # Example /// /// ``` - /// use stwo::core::fields::m31::P; - /// use stwo::core::fields::qm31::QM31; - /// use stwo::core::fields::ComplexConjugate; + /// use prover::core::fields::m31::P; + /// use prover::core::fields::qm31::QM31; + /// use prover::core::fields::ComplexConjugate; /// /// let x = QM31::from_u32_unchecked(1, 2, 3, 4); /// assert_eq!( diff --git a/src/core/fields/qm31.rs b/crates/prover/src/core/fields/qm31.rs similarity index 100% rename from src/core/fields/qm31.rs rename to crates/prover/src/core/fields/qm31.rs diff --git a/src/core/fields/secure_column.rs b/crates/prover/src/core/fields/secure_column.rs similarity index 100% rename from src/core/fields/secure_column.rs rename to crates/prover/src/core/fields/secure_column.rs diff --git a/src/core/fri.rs b/crates/prover/src/core/fri.rs similarity index 100% rename from src/core/fri.rs rename to crates/prover/src/core/fri.rs diff --git a/src/core/lookups/mle.rs b/crates/prover/src/core/lookups/mle.rs similarity index 100% rename from src/core/lookups/mle.rs rename to crates/prover/src/core/lookups/mle.rs diff --git a/src/core/lookups/mod.rs b/crates/prover/src/core/lookups/mod.rs similarity index 100% rename from src/core/lookups/mod.rs rename to crates/prover/src/core/lookups/mod.rs diff --git a/src/core/mod.rs b/crates/prover/src/core/mod.rs similarity index 100% rename from src/core/mod.rs rename to crates/prover/src/core/mod.rs diff --git a/src/core/poly/circle/canonic.rs b/crates/prover/src/core/poly/circle/canonic.rs similarity index 100% rename from src/core/poly/circle/canonic.rs rename to crates/prover/src/core/poly/circle/canonic.rs diff --git a/src/core/poly/circle/domain.rs b/crates/prover/src/core/poly/circle/domain.rs similarity index 100% rename from src/core/poly/circle/domain.rs rename to crates/prover/src/core/poly/circle/domain.rs diff --git a/src/core/poly/circle/evaluation.rs b/crates/prover/src/core/poly/circle/evaluation.rs similarity index 100% rename from src/core/poly/circle/evaluation.rs rename to crates/prover/src/core/poly/circle/evaluation.rs diff --git a/src/core/poly/circle/mod.rs b/crates/prover/src/core/poly/circle/mod.rs similarity index 100% rename from src/core/poly/circle/mod.rs rename to crates/prover/src/core/poly/circle/mod.rs diff --git a/src/core/poly/circle/ops.rs b/crates/prover/src/core/poly/circle/ops.rs similarity index 100% rename from src/core/poly/circle/ops.rs rename to crates/prover/src/core/poly/circle/ops.rs diff --git a/src/core/poly/circle/poly.rs b/crates/prover/src/core/poly/circle/poly.rs similarity index 100% rename from src/core/poly/circle/poly.rs rename to crates/prover/src/core/poly/circle/poly.rs diff --git a/src/core/poly/circle/secure_poly.rs b/crates/prover/src/core/poly/circle/secure_poly.rs similarity index 100% rename from src/core/poly/circle/secure_poly.rs rename to crates/prover/src/core/poly/circle/secure_poly.rs diff --git a/src/core/poly/line.rs b/crates/prover/src/core/poly/line.rs similarity index 100% rename from src/core/poly/line.rs rename to crates/prover/src/core/poly/line.rs diff --git a/src/core/poly/mod.rs b/crates/prover/src/core/poly/mod.rs similarity index 100% rename from src/core/poly/mod.rs rename to crates/prover/src/core/poly/mod.rs diff --git a/src/core/poly/twiddles.rs b/crates/prover/src/core/poly/twiddles.rs similarity index 100% rename from src/core/poly/twiddles.rs rename to crates/prover/src/core/poly/twiddles.rs diff --git a/src/core/poly/utils.rs b/crates/prover/src/core/poly/utils.rs similarity index 100% rename from src/core/poly/utils.rs rename to crates/prover/src/core/poly/utils.rs diff --git a/src/core/proof_of_work.rs b/crates/prover/src/core/proof_of_work.rs similarity index 100% rename from src/core/proof_of_work.rs rename to crates/prover/src/core/proof_of_work.rs diff --git a/src/core/prover/mod.rs b/crates/prover/src/core/prover/mod.rs similarity index 100% rename from src/core/prover/mod.rs rename to crates/prover/src/core/prover/mod.rs diff --git a/src/core/queries.rs b/crates/prover/src/core/queries.rs similarity index 100% rename from src/core/queries.rs rename to crates/prover/src/core/queries.rs diff --git a/src/core/test_utils.rs b/crates/prover/src/core/test_utils.rs similarity index 100% rename from src/core/test_utils.rs rename to crates/prover/src/core/test_utils.rs diff --git a/src/core/utils.rs b/crates/prover/src/core/utils.rs similarity index 100% rename from src/core/utils.rs rename to crates/prover/src/core/utils.rs diff --git a/src/examples/fibonacci/air.rs b/crates/prover/src/examples/fibonacci/air.rs similarity index 100% rename from src/examples/fibonacci/air.rs rename to crates/prover/src/examples/fibonacci/air.rs diff --git a/src/examples/fibonacci/component.rs b/crates/prover/src/examples/fibonacci/component.rs similarity index 100% rename from src/examples/fibonacci/component.rs rename to crates/prover/src/examples/fibonacci/component.rs diff --git a/src/examples/fibonacci/mod.rs b/crates/prover/src/examples/fibonacci/mod.rs similarity index 100% rename from src/examples/fibonacci/mod.rs rename to crates/prover/src/examples/fibonacci/mod.rs diff --git a/src/examples/mod.rs b/crates/prover/src/examples/mod.rs similarity index 100% rename from src/examples/mod.rs rename to crates/prover/src/examples/mod.rs diff --git a/src/examples/wide_fibonacci/avx.rs b/crates/prover/src/examples/wide_fibonacci/avx.rs similarity index 100% rename from src/examples/wide_fibonacci/avx.rs rename to crates/prover/src/examples/wide_fibonacci/avx.rs diff --git a/src/examples/wide_fibonacci/component.rs b/crates/prover/src/examples/wide_fibonacci/component.rs similarity index 100% rename from src/examples/wide_fibonacci/component.rs rename to crates/prover/src/examples/wide_fibonacci/component.rs diff --git a/src/examples/wide_fibonacci/constraint_eval.rs b/crates/prover/src/examples/wide_fibonacci/constraint_eval.rs similarity index 100% rename from src/examples/wide_fibonacci/constraint_eval.rs rename to crates/prover/src/examples/wide_fibonacci/constraint_eval.rs diff --git a/src/examples/wide_fibonacci/mod.rs b/crates/prover/src/examples/wide_fibonacci/mod.rs similarity index 100% rename from src/examples/wide_fibonacci/mod.rs rename to crates/prover/src/examples/wide_fibonacci/mod.rs diff --git a/src/examples/wide_fibonacci/trace_gen.rs b/crates/prover/src/examples/wide_fibonacci/trace_gen.rs similarity index 100% rename from src/examples/wide_fibonacci/trace_gen.rs rename to crates/prover/src/examples/wide_fibonacci/trace_gen.rs diff --git a/src/hash_functions/mod.rs b/crates/prover/src/hash_functions/mod.rs similarity index 100% rename from src/hash_functions/mod.rs rename to crates/prover/src/hash_functions/mod.rs diff --git a/src/hash_functions/poseidon.rs b/crates/prover/src/hash_functions/poseidon.rs similarity index 100% rename from src/hash_functions/poseidon.rs rename to crates/prover/src/hash_functions/poseidon.rs diff --git a/src/lib.rs b/crates/prover/src/lib.rs similarity index 100% rename from src/lib.rs rename to crates/prover/src/lib.rs diff --git a/src/math/matrix.rs b/crates/prover/src/math/matrix.rs similarity index 100% rename from src/math/matrix.rs rename to crates/prover/src/math/matrix.rs diff --git a/src/math/mod.rs b/crates/prover/src/math/mod.rs similarity index 100% rename from src/math/mod.rs rename to crates/prover/src/math/mod.rs diff --git a/src/math/utils.rs b/crates/prover/src/math/utils.rs similarity index 100% rename from src/math/utils.rs rename to crates/prover/src/math/utils.rs diff --git a/src/platform.rs b/crates/prover/src/platform.rs similarity index 100% rename from src/platform.rs rename to crates/prover/src/platform.rs