-
Notifications
You must be signed in to change notification settings - Fork 316
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
feat(storage-proofs-porep): implement prefetch macro for aarch64 #1294
Conversation
Co-authored-by: Wang Maozhang <[email protected]>
Thanks! Will see if we can find a tester for this. |
The result on our server are very good. Thanks. |
@@ -1,6 +1,8 @@ | |||
//requires nightly, or later stable version | |||
//#![warn(clippy::unwrap_used)] | |||
|
|||
#![cfg_attr(target_arch = "aarch64", feature(stdsimd))] |
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.
this means that aarch64 now requires a nightly compiler, which is fine, but should be documented
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.
Thanks for the quick review.
Seems the nightly compiler requirement has been documented in README.md
already:
275 ## Building for Arm64
276
277 In order to build for arm64 the current requirements are
278
279 - nightly rust compiler
280
281 Example for building `filecoin-proofs`
282
283 ```
284 $ rustup +nightly target add aarch64-unknown-linux-gnu
285 $ cargo +nightly build -p filecoin-proofs --release --target aarch64-unknown-linux-gnu
286 ```
Do we need extra comments in storage-proofs/porep/src/lib.rs
before the cfg_attr line or elsewhere? Maybe something like //requires nightly, or later stable version to build for aarch64
?
Best Regards.
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.
ha, I forgot about that, perfect thank you!
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.
thanks
Co-authored-by: Wang Maozhang [email protected]
This implement prefetch marco for aarch64 in
storage-proofs/porep/src/stacked/vanilla/macros.rs
, with prefetch hints merged into core_arch library rust-lang/stdarch-PR918 and rust-lang/rust-PR77259.Patch delivers about 23% performance improvement in
(lotus-bench seal: preCommit phase 1)
with--sector-size=512MB/32GiB
on Kunpeng920 aarch64 server.