-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
perf: VID ADVZ verify_share use parallelism over multiplicity #650
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Added a couple of nit comments and it would be good to test this on GPU as well.
Really nice catch that we should make the verification (with multiplicity) parallelizable as well.
Will let @mrain (or others) approve this since I don't have access to GPU. Otherwise, we could setup an ephemeral GPU server to test this. |
And what's up with all the clippy warnings(?) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM. GPU tests are good.
nit: 2 VID tests in advz::bytes_to_field
are not working. Try cargo test -p jf-vid --features test-srs --release -- --ignored
for details.
These doctests are ignored intentionally due to a Rust limitation that disallows access to private identifiers in doctest: Doctest of private functions - help - The Rust Programming Language Forum 😕 |
Github CI is using a newer version of Rust than our Nix environment. We need to update Nix flake again. We'll do that in another PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice.
Some numbers below:
jellyfish$ RAYON_NUM_THREADS=10 cargo bench --bench=advz_multiplicity --features="test-srs"
Finished `bench` profile [optimized] target(s) in 0.32s
Running benches/advz_multiplicity.rs (target/nix_rustc/release/deps/advz_multiplicity-b08a1b7a37662771)
advz_verify_payload_256KB_multiplicity/1
time: [21.979 ms 22.338 ms 22.523 ms]
change: [-0.9804% +0.5734% +2.1592%] (p = 0.51 > 0.05)
No change in performance detected.
advz_verify_payload_256KB_multiplicity/256
time: [32.937 ms 33.757 ms 35.228 ms]
change: [-6.8922% -1.3409% +4.3643%] (p = 0.67 > 0.05)
No change in performance detected.
closes: #646
This PR does / key places to review:
vid/benches/advz_multiplicity.rs
demonstrates perf improvementgpu-vid
feature is enabled. Last time this issue arose @mrain had to check the build using his nvidia gpu.How to test this PR:
From inside the
vid/
directory runOn my local machine I observe significant improvement when I increase
N
from 1 to 6:N
=1:N
=6:Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
CHANGELOG.md
of touched crates.Files changed
in the GitHub PR explorer