Skip to content

Commit

Permalink
chore: Remove Standard Honk (#2435)
Browse files Browse the repository at this point in the history
Standard Honk was a stepping stone in our development process and has no
role in the final architecture of aztec.

Note: Many of the earlier Honk tests were hard coded for Standard. In
most cases I've updated those tests to use Ultra. Some tests that I
deemed redundant or unhelpful I have removed altogether. (One Sumcheck
test that was redundant with the one that followed it, plus two in
SumcheckRound that were redundant with relation correctness/consistency
+ Sumcheck tests)
  • Loading branch information
ledwards2225 authored Sep 22, 2023
1 parent b7f627a commit 9b3ee45
Show file tree
Hide file tree
Showing 38 changed files with 424 additions and 3,515 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Each source represents a separate benchmark suite
set(BENCHMARK_SOURCES
standard_honk.bench.cpp
standard_plonk.bench.cpp
ultra_honk.bench.cpp
ultra_plonk.bench.cpp
Expand All @@ -14,7 +13,7 @@ set(LINKED_LIBRARIES
benchmark::benchmark
)

# Add executable and custom target for each suite, e.g. standard_honk_bench
# Add executable and custom target for each suite, e.g. ultra_honk_bench
foreach(BENCHMARK_SOURCE ${BENCHMARK_SOURCES})
get_filename_component(BENCHMARK_NAME ${BENCHMARK_SOURCE} NAME_WE) # extract name without extension
add_executable(${BENCHMARK_NAME}_bench main.bench.cpp ${BENCHMARK_SOURCE} benchmark_utilities.hpp)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#include <benchmark/benchmark.h>

#include "barretenberg/honk/composer/standard_composer.hpp"
#include "barretenberg/honk/composer/ultra_composer.hpp"
#include "barretenberg/proof_system/types/circuit_type.hpp"
#include "barretenberg/stdlib/encryption/ecdsa/ecdsa.hpp"
Expand Down Expand Up @@ -195,20 +194,11 @@ void construct_proof_with_specified_num_gates(State& state,
test_circuit_function(builder, num_gates);

auto composer = Composer();
if constexpr (proof_system::IsAnyOf<Composer, proof_system::honk::StandardComposer>) {
auto instance = composer.create_instance(builder);
auto ext_prover = composer.create_prover(instance);
state.ResumeTiming();

// Construct proof
auto proof = ext_prover.construct_proof();
} else {
auto ext_prover = composer.create_prover(builder);
state.ResumeTiming();
auto ext_prover = composer.create_prover(builder);
state.ResumeTiming();

// Construct proof
auto proof = ext_prover.construct_proof();
}
// Construct proof
auto proof = ext_prover.construct_proof();
}
}

Expand Down

This file was deleted.

116 changes: 0 additions & 116 deletions barretenberg/cpp/src/barretenberg/benchmark/honk_bench/honk.bench.cpp

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ set(LINKED_LIBRARIES
benchmark::benchmark
)

# Add executable and custom target for each suite, e.g. standard_honk_bench
# Add executable and custom target for each suite, e.g. ultra_honk_bench
foreach(BENCHMARK_SOURCE ${BENCHMARK_SOURCES})
get_filename_component(BENCHMARK_NAME ${BENCHMARK_SOURCE} NAME_WE) # extract name without extension
add_executable(${BENCHMARK_NAME}_bench main.bench.cpp ${BENCHMARK_SOURCE})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
#include "barretenberg/honk/flavor/goblin_ultra.hpp"
#include "barretenberg/honk/flavor/standard.hpp"
#include "barretenberg/honk/flavor/ultra.hpp"
#include "barretenberg/proof_system/relations/arithmetic_relation.hpp"
#include "barretenberg/proof_system/relations/auxiliary_relation.hpp"
#include "barretenberg/proof_system/relations/ecc_op_queue_relation.hpp"
#include "barretenberg/proof_system/relations/elliptic_relation.hpp"
Expand Down Expand Up @@ -47,12 +45,6 @@ template <typename Flavor, typename Relation> void execute_relation(::benchmark:
}
}

void arithmetic_relation(::benchmark::State& state) noexcept
{
execute_relation<honk::flavor::Standard, ArithmeticRelation<FF>>(state);
}
BENCHMARK(arithmetic_relation);

void auxiliary_relation(::benchmark::State& state) noexcept
{
execute_relation<honk::flavor::Ultra, AuxiliaryRelation<FF>>(state);
Expand Down Expand Up @@ -83,11 +75,11 @@ void lookup_relation(::benchmark::State& state) noexcept
}
BENCHMARK(lookup_relation);

void permutation_relation(::benchmark::State& state) noexcept
void ultra_permutation_relation(::benchmark::State& state) noexcept
{
execute_relation<honk::flavor::Standard, PermutationRelation<FF>>(state);
execute_relation<honk::flavor::Ultra, UltraPermutationRelation<FF>>(state);
}
BENCHMARK(permutation_relation);
BENCHMARK(ultra_permutation_relation);

void ultra_arithmetic_relation(::benchmark::State& state) noexcept
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ template <ECCVMFlavor Flavor> class ECCVMComposer_ {
std::shared_ptr<VerificationKey> verification_key;

// The crs_factory holds the path to the srs and exposes methods to extract the srs elements
std::shared_ptr<srs::factories::CrsFactory<typename Flavor::Curve>> crs_factory_;
std::shared_ptr<barretenberg::srs::factories::CrsFactory<typename Flavor::Curve>> crs_factory_;

// The commitment key is passed to the prover but also used herein to compute the verfication key commitments
std::shared_ptr<CommitmentKey> commitment_key;
Expand All @@ -42,7 +42,8 @@ template <ECCVMFlavor Flavor> class ECCVMComposer_ {
crs_factory_ = barretenberg::srs::get_crs_factory();
};

explicit ECCVMComposer_(std::shared_ptr<srs::factories::CrsFactory<typename Flavor::Curve>> crs_factory)
explicit ECCVMComposer_(
std::shared_ptr<barretenberg::srs::factories::CrsFactory<typename Flavor::Curve>> crs_factory)
: crs_factory_(std::move(crs_factory))
{}

Expand All @@ -65,7 +66,7 @@ template <ECCVMFlavor Flavor> class ECCVMComposer_ {
ECCVMProver_<Flavor> create_prover(CircuitConstructor& circuit_constructor);
ECCVMVerifier_<Flavor> create_verifier(CircuitConstructor& circuit_constructor);

void add_table_column_selector_poly_to_proving_key(polynomial& small, const std::string& tag);
void add_table_column_selector_poly_to_proving_key(barretenberg::polynomial& small, const std::string& tag);

void compute_commitment_key(size_t circuit_size)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
#include <vector>

#include "barretenberg/honk/composer/eccvm_composer.hpp"
#include "barretenberg/honk/proof_system/prover.hpp"
#include "barretenberg/honk/sumcheck/sumcheck_round.hpp"
#include "barretenberg/honk/utils/grand_product_delta.hpp"
#include "barretenberg/numeric/uint256/uint256.hpp"
Expand All @@ -15,7 +14,7 @@

using namespace proof_system::honk;

namespace test_standard_honk_composer {
namespace test_eccvm_composer {

template <typename Flavor> class ECCVMComposerTests : public ::testing::Test {
protected:
Expand Down Expand Up @@ -103,4 +102,4 @@ TYPED_TEST(ECCVMComposerTests, EqFails)
bool verified = verifier.verify_proof(proof);
ASSERT_FALSE(verified);
}
} // namespace test_standard_honk_composer
} // namespace test_eccvm_composer

This file was deleted.

Loading

0 comments on commit 9b3ee45

Please sign in to comment.