From 978f7722f97a8bb8c9554bd4dc855b93ba142a67 Mon Sep 17 00:00:00 2001 From: codygunton Date: Fri, 7 Jun 2024 09:06:31 +0000 Subject: [PATCH 1/5] Add and use DISABLE_AZTEC_VM --- barretenberg/cpp/CMakeLists.txt | 7 +++++++ barretenberg/cpp/src/CMakeLists.txt | 2 +- barretenberg/cpp/src/barretenberg/bb/main.cpp | 4 ++++ barretenberg/cpp/src/barretenberg/vm/CMakeLists.txt | 4 ++-- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/barretenberg/cpp/CMakeLists.txt b/barretenberg/cpp/CMakeLists.txt index 25a86e9b52f..911c2b1cc79 100644 --- a/barretenberg/cpp/CMakeLists.txt +++ b/barretenberg/cpp/CMakeLists.txt @@ -27,6 +27,7 @@ endif(DOXYGEN_FOUND) option(DISABLE_ASM "Disable custom assembly" OFF) option(DISABLE_ADX "Disable ADX assembly variant" OFF) +option(DISABLE_AZTEC_VM "Don't build Aztec VM (acceptable if iterating on core proving)" ON) option(MULTITHREADING "Enable multi-threading" ON) option(OMP_MULTITHREADING "Enable OMP multi-threading" OFF) option(FUZZING "Build ONLY fuzzing harnesses" OFF) @@ -144,6 +145,12 @@ include(cmake/module.cmake) include(cmake/msgpack.cmake) include(cmake/backward-cpp.cmake) +if (NOT WASM) + set(DISABLE_AZTEC_VM ON) +endif() +if(DISABLE_AZTEC_VM) + add_definitions(-DDISABLE_AZTEC_VM=1) +endif() add_subdirectory(src) if (ENABLE_ASAN AND NOT(FUZZING)) find_program(LLVM_SYMBOLIZER_PATH NAMES llvm-symbolizer-16) diff --git a/barretenberg/cpp/src/CMakeLists.txt b/barretenberg/cpp/src/CMakeLists.txt index 96832e6a842..be6d254b723 100644 --- a/barretenberg/cpp/src/CMakeLists.txt +++ b/barretenberg/cpp/src/CMakeLists.txt @@ -154,7 +154,7 @@ set(BARRETENBERG_TARGET_OBJECTS $ $) -if(NOT WASM) +if(NOT DISABLE_AZTEC_VM) # enable AVM list(APPEND BARRETENBERG_TARGET_OBJECTS $) endif() diff --git a/barretenberg/cpp/src/barretenberg/bb/main.cpp b/barretenberg/cpp/src/barretenberg/bb/main.cpp index 03cb6b24c44..9075ac443ff 100644 --- a/barretenberg/cpp/src/barretenberg/bb/main.cpp +++ b/barretenberg/cpp/src/barretenberg/bb/main.cpp @@ -514,6 +514,7 @@ void vk_as_fields(const std::string& vk_path, const std::string& output_path) } } +#ifndef DISABLE_AZTEC_VM /** * @brief Writes an avm proof and corresponding (incomplete) verification key to files. * @@ -586,6 +587,7 @@ bool avm_verify(const std::filesystem::path& proof_path, const std::filesystem:: vinfo("verified: ", verified); return verified; } +#endif /** * @brief Creates a proof for an ACIR circuit @@ -892,6 +894,7 @@ int main(int argc, char* argv[]) } else if (command == "vk_as_fields") { std::string output_path = get_option(args, "-o", vk_path + "_fields.json"); vk_as_fields(vk_path, output_path); +#ifndef DISABLE_AZTEC_VM } else if (command == "avm_prove") { std::filesystem::path avm_bytecode_path = get_option(args, "--avm-bytecode", "./target/avm_bytecode.bin"); std::filesystem::path avm_calldata_path = get_option(args, "--avm-calldata", "./target/avm_calldata.bin"); @@ -903,6 +906,7 @@ int main(int argc, char* argv[]) avm_prove(avm_bytecode_path, avm_calldata_path, avm_public_inputs_path, avm_hints_path, output_path); } else if (command == "avm_verify") { return avm_verify(proof_path, vk_path) ? 0 : 1; +#endif } else if (command == "prove_ultra_honk") { std::string output_path = get_option(args, "-o", "./proofs/proof"); prove_honk(bytecode_path, witness_path, output_path); diff --git a/barretenberg/cpp/src/barretenberg/vm/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/vm/CMakeLists.txt index f0deb9a1eb7..28052bf9656 100644 --- a/barretenberg/cpp/src/barretenberg/vm/CMakeLists.txt +++ b/barretenberg/cpp/src/barretenberg/vm/CMakeLists.txt @@ -1,3 +1,3 @@ -if(NOT WASM) -barretenberg_module(vm honk sumcheck) +if(NOT DISABLE_AZTEC_VM) + barretenberg_module(vm honk sumcheck) endif() \ No newline at end of file From 97fc4505972afbc3706768389fba5e3dc316cd31 Mon Sep 17 00:00:00 2001 From: codygunton Date: Fri, 7 Jun 2024 09:12:43 +0000 Subject: [PATCH 2/5] Fix typo --- .../barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp index f27bc803b4c..40bd689f9fc 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp @@ -485,7 +485,7 @@ std::vector> element::compute_naf(const Fr& scalar, cons C* ctx = scalar.context; uint512_t scalar_multiplier_512 = uint512_t(uint256_t(scalar.get_value()) % Fr::modulus); uint256_t scalar_multiplier = scalar_multiplier_512.lo; - // NAF can't handl 0 + // NAF can't handle 0 if (scalar_multiplier == 0) { scalar_multiplier = Fr::modulus; } From e5e52d6fbd7e385cd23c1e70eb509e08d9ae1c06 Mon Sep 17 00:00:00 2001 From: ludamad Date: Fri, 7 Jun 2024 05:18:38 -0400 Subject: [PATCH 3/5] Update CMakeLists.txt --- barretenberg/cpp/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/barretenberg/cpp/CMakeLists.txt b/barretenberg/cpp/CMakeLists.txt index 911c2b1cc79..9d0f60d4a9c 100644 --- a/barretenberg/cpp/CMakeLists.txt +++ b/barretenberg/cpp/CMakeLists.txt @@ -27,7 +27,7 @@ endif(DOXYGEN_FOUND) option(DISABLE_ASM "Disable custom assembly" OFF) option(DISABLE_ADX "Disable ADX assembly variant" OFF) -option(DISABLE_AZTEC_VM "Don't build Aztec VM (acceptable if iterating on core proving)" ON) +option(DISABLE_AZTEC_VM "Don't build Aztec VM (acceptable if iterating on core proving)" OFF) option(MULTITHREADING "Enable multi-threading" ON) option(OMP_MULTITHREADING "Enable OMP multi-threading" OFF) option(FUZZING "Build ONLY fuzzing harnesses" OFF) From 9dc86d9c885060931de8e36650f55b18b9582e1a Mon Sep 17 00:00:00 2001 From: ludamad Date: Fri, 7 Jun 2024 05:20:29 -0400 Subject: [PATCH 4/5] Update main.cpp --- barretenberg/cpp/src/barretenberg/bb/main.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/barretenberg/cpp/src/barretenberg/bb/main.cpp b/barretenberg/cpp/src/barretenberg/bb/main.cpp index 9075ac443ff..01cabd2ca36 100644 --- a/barretenberg/cpp/src/barretenberg/bb/main.cpp +++ b/barretenberg/cpp/src/barretenberg/bb/main.cpp @@ -5,8 +5,10 @@ #include "barretenberg/dsl/acir_format/acir_format.hpp" #include "barretenberg/honk/proof_system/types/proof.hpp" #include "barretenberg/plonk/proof_system/proving_key/serialize.hpp" +#ifndef DISABLE_AZTEC_VM #include "barretenberg/vm/avm_trace/avm_common.hpp" #include "barretenberg/vm/avm_trace/avm_execution.hpp" +#endif #include "config.hpp" #include "get_bn254_crs.hpp" #include "get_bytecode.hpp" From e35bc5ca3790458f9b8ad9bf52c2753e3572c157 Mon Sep 17 00:00:00 2001 From: ludamad Date: Fri, 7 Jun 2024 06:13:35 -0400 Subject: [PATCH 5/5] Update CMakeLists.txt --- barretenberg/cpp/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/barretenberg/cpp/CMakeLists.txt b/barretenberg/cpp/CMakeLists.txt index 9d0f60d4a9c..f16b898bf6f 100644 --- a/barretenberg/cpp/CMakeLists.txt +++ b/barretenberg/cpp/CMakeLists.txt @@ -145,7 +145,7 @@ include(cmake/module.cmake) include(cmake/msgpack.cmake) include(cmake/backward-cpp.cmake) -if (NOT WASM) +if (WASM) set(DISABLE_AZTEC_VM ON) endif() if(DISABLE_AZTEC_VM)