Conversation
AVM team encountered a problem where some Origin Tags go into the poseidon hashing with free witness tags. Change logic to ensure that new tags according to the transcript get assigned before sending the elements to the hasher.
Cleanup and minor performance related bugfixes for `cycle_group::_variable_base_batch_mul_internal()` - Utilize native hints in stdlib straus lookup table construction where they were erroneously not being used before - remove duplicate construction of native straus lookup tables (see PR comments for more details) - virtually every instance of `emplace_back` was being used incorrectly - remove `std::optional` logic associated with broken support for scalars of different sizes (now protected with an assert)
More ClientIvc cleanup: - use precomputed VK for hiding kernel rather than recomputing it at runtime - don't use structured trace for hiding kernel VK construction in mock circuit producer - remove use of non-static `verify()` and `prove_and_verify()` in favor of static `ClientIvc::verify()` - remove no longer needed propagation of tail public inputs in hiding kernel (it no longer has any!) - simplify `ClientIvc` member variables: remove `honk_vk` and replace `ProverFoldOutput` instance with a simple `prover_accumulator`
…16858) At each step of the merge protocol we chech that the `left_table` is of appropriate degree to ensure merging the subtable doesn't cause an overlap. However, as the last subtable is appended so it's the `right_table`, we don't perform a degree check on it currently. We have to ensure merging the last subtable doesn't cause the number of UltraOps does not go over the fixed Translator `MINICIRCUIT_SIZE` and the cheapest way to do this is by updating the `TranslatorZeroConstraintRelation` to ensure the op queue wires are also zero past the `MINICIRCUIT_SIZE`. On top of that, this PR reviews and document the `skip` conditions for the relations found in `translator_extra_relations.hpp` Closes AztecProtocol/barretenberg#1399
Collaborator
Author
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
## Summary Adds a new benchmarking script `bench_cpu_scaling_remote.sh` that measures CPU scaling performance of BB_BENCH entries on remote EC2 instances. ## Features - **Remote execution**: Uses `benchmark_remote.sh` infrastructure with proper locking mechanism - **CPU scaling analysis**: Runs benchmarks with different `HARDWARE_CONCURRENCY` values (1, 2, 4, 8, etc.) - **JSON output**: Uses `--bench_out` flag to generate JSON output for accurate timing extraction - **Performance metrics**: Calculates speedup and parallel efficiency for each CPU count - **Real-time output**: Shows benchmark progress during execution with `tee` for transparency ## Implementation Details - Automatically appends `--bench_out` flag to commands to generate JSON output - Retrieves JSON files from remote machine after each benchmark run - Extracts timing data from JSON format for more reliable parsing - Shows JSON content for debugging when extraction encounters issues ## Usage ```bash # Set required environment variables export BB_SSH_KEY='-i /path/to/key.pem' export BB_SSH_INSTANCE='user@ec2-instance.amazonaws.com' export BB_SSH_CPP_PATH='/path/to/barretenberg/cpp' # Run CPU scaling benchmark ./bench_cpu_scaling_remote.sh "ClientIvcProve" "./bb prove --scheme client_ivc --output_path /tmp --ivc_inputs_path ~/input.msgpack" "1,2,4,8" # Note: --bench_out flag is automatically added to the command ``` ## Example Output ``` ClientIVC::prove CPU Scaling Results: - 1 CPU: 27.96s (baseline) - 2 CPUs: 15.77s (1.77x speedup, 88.5% efficiency) - 4 CPUs: 9.23s (3.03x speedup, 75.8% efficiency) - 8 CPUs: 5.85s (4.78x speedup, 59.8% efficiency) ```
Missed setting free witness in one of constructors before
2f937b3 to
d38c9ea
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
BEGIN_COMMIT_OVERRIDE
fix: Origin Tags edgecase (#16921)
chore: cycle group cleanup #2 (#16876)
chore: civc tidy 3 (#16671)
refactor(bb): optimize batch_mul_with_endomorphism (#16905)
feat: check op queue wires are zero past minicircuit in Translator (#16858)
feat: Add CPU scaling benchmark script for remote execution (#16918)
fix: Add free witness tag to field constructor (#16827)
fix(bb): darwin build (#16957)
END_COMMIT_OVERRIDE