Add Armv8.1-m MVE memcpy, memset, zeroize#1271
Draft
bremoran wants to merge 4 commits into
Draft
Conversation
- Port of pq-code-package/mlkem-native#1547 Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
- Port of pq-code-package/mlkem-native#1791 Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
Zephyr's k_cycle_get_32() can wrap during long NUCLEO benchmark windows, producing huge unsigned deltas in the benchmark output. Use k_cycle_get_64() for Zephyr targets. Also make ML-DSA benchmark percentile sorting and formatting robust for large uint64_t cycle values. Signed-off-by: Brendan Moran <brendan.moran@arm.com>
Signed-off-by: Brendan Moran <brendan.moran@arm.com>
b4ac391 to
18a1f41
Compare
Contributor
CBMC Results (ML-DSA-44, REDUCE-RAM)Full Results (205 proofs)
|
Contributor
CBMC Results (ML-DSA-87, REDUCE-RAM)Full Results (205 proofs)
|
Contributor
CBMC Results (ML-DSA-65)Full Results (205 proofs)
|
Contributor
CBMC Results (ML-DSA-44)Full Results (205 proofs)
|
Contributor
CBMC Results (ML-DSA-65, REDUCE-RAM)Full Results (205 proofs)
|
Contributor
CBMC Results (ML-DSA-87)Full Results (205 proofs)
|
Contributor
Author
|
I've marked this PR as a draft because while MVE memset/memcpy/zeroize did have a positive impact on reducing key pair generation, it had the opposite effect on signature generation and verification. This should not be the case and was not the case when I added it in local testing. However, I added it after other assembly optimisations, not before. Therefore, I'll defer this one until it makes an improvement in all benchmarks. |
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.
No description provided.