-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Update stdsimd to undo an accidental stabilization #52535
Conversation
r? @aturon (rust_highfive has picked a reviewer for you, use r? to override) |
📌 Commit ec4aaf1 has been approved by |
This error was suspected to be caused by this update, so I'm running a test locally |
…-Simulacrum Update stdsimd to undo an accidental stabilization Closes rust-lang#52403
The same powerpc error in #52570 (comment), but again it is a rollup 🤷. |
@bors: r- I'll take a look |
We're running into issues updating with rust-lang/rust#52535, so we need to get this working without `RUSTFLAGS` enabling the `altivec` feature
We're running into issues updating with rust-lang/rust#52535, so we need to get this working without `RUSTFLAGS` enabling the `altivec` feature
ec4aaf1
to
a25dfa4
Compare
@gnzlbg as a heads up I had to update this to stdsimd master to pull in rust-lang/stdarch#531 which also pulls in the deletion of @bors: r=Mark-Simulacrum |
📌 Commit a25dfa4dacb39d892ab7ff6ab2dda4d30f260ad9 has been approved by |
@alexcrichton the std::simd replacement is already fully compatible with
what we had before so people can just use that. Let me know if you want to
pull it into the nursery.
…On Fri 20. Jul 2018 at 18:59, Alex Crichton ***@***.***> wrote:
@gnzlbg <https://github.com/gnzlbg> as a heads up I had to update this to
stdsimd master to pull in rust-lang/stdarch#531
<rust-lang/stdarch#531> which also pulls
in the deletion of std::simd
@bors <https://github.com/bors>: r=Mark-Simulacrum
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#52535 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AA3Npv8MZJS5jH8hZ0PC5UB8Go57ZTKzks5uIgxagaJpZM4VWdK0>
.
|
@gnzlbg: 🔑 Insufficient privileges: Not in reviewers |
@gnzlbg oh I thought I recalled you saying you didn't want to delete |
⌛ Testing commit a25dfa4dacb39d892ab7ff6ab2dda4d30f260ad9 with merge ba65701428f1c1ae53aee962ac32bd0771d4e922... |
💔 Test failed - status-appveyor |
Update stdsimd to undo an accidental stabilization Closes #52403
You are remembering it correctly, but I changed my mind about doing releases. Those who want to use this will need to add a That's unfortunate, but it will prevent the issue that we had with
I think that would be best. I guess one just needs to fork it right? |
☀️ Test successful - status-appveyor, status-travis |
@gnzlbg ok, if you want to catch me on IRC I can help you transfer the repo to the nursery |
I’m travelling this weekend and connectivity is low, but I think this can
wait till Monday.
…On Sat 21. Jul 2018 at 17:39, Alex Crichton ***@***.***> wrote:
@gnzlbg <https://github.com/gnzlbg> ok, if you want to catch me on IRC I
can help you transfer the repo to the nursery
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#52535 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AA3Nprw1fMu3DMhdRvAQMr6Qux4boGH2ks5uI0tGgaJpZM4VWdK0>
.
|
@@ -244,9 +244,6 @@ macro_rules! vector_impl { ($([$f:ident, $($args:tt)*]),*) => { $($f!($($args)*) | |||
#[cfg(not(stage0))] // allow changes to how stdsimd works in stage0 | |||
mod coresimd; | |||
|
|||
#[unstable(feature = "stdsimd", issue = "48556")] | |||
#[cfg(not(stage0))] | |||
pub use coresimd::simd; |
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 removal broke the CI of rand, but I have trouble finding the reason. Is there an alternative to use simd with no_std
, or is this no longer supported?
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.
Indeed! This has moved over to https://github.com/gnzlbg/packed_simd
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.
Thank you!
perf.rust-lang.org indicates that this caused a significant compile-time win, which is (a) nice, and (b) surprising to me. @alexcrichton, do you know why this might have improved rustc speed? |
@nnethercote we removed a very big module from This might mean that adding stuff to the |
Yes this removed a large unstable module from libcore. I believe it had a ton of trait impls, so maybe metadata loading for libstd is faster now? It could mean perhaps that metadata loading isn't as efficient as it could otherwise be perhaps? |
This is correct (it really had a ton of trait impls). It also had a ton of types with tons of methods. FYI what was removed now lives in the nursery: https://github.com/rust-lang-nursery/packed_simd |
FYI, while it's obviously removed from the nightly documentation, This may confuse some people (e.g. game developers) who are googling "Rust SIMD". |
That's weird, the APIs are unstable so they should only appear on the nightly docs, but those are not in |
Unstable APIs appear in stable docs. Maybe they shouldn't, but they do. And maybe it's too late to change that behavior. Edit: A possible improvement would be to not show unstable modules, but continue showing unstable functions/methods. But that's a topic that may deserve its own issue. |
Seems plausible... especially given that the speedups were largest for short-running benchmarks (esp. "check" builds) which suggests a constant-ish time reduction. I intended to do a Cachegrind diff but when I ran locally I saw a negligible difference caused by the change. I don't know why. |
std::simd was removed in rust-lang/rust#52535
`std::simd` was removed in rust-lang/rust#52535. https://crates.io/crates/packed_simd is in the rust-lang-nursery org.
`std::simd` was removed in rust-lang/rust#52535. https://crates.io/crates/packed_simd is in the rust-lang-nursery org.
Use the packed_simd crate instead of std::simd `std::simd` was removed in rust-lang/rust#52535. https://crates.io/crates/packed_simd is in the rust-lang-nursery org. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21272) <!-- Reviewable:end -->
Use the packed_simd crate instead of std::simd `std::simd` was removed in rust-lang/rust#52535. https://crates.io/crates/packed_simd is in the rust-lang-nursery org. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21272) <!-- Reviewable:end -->
Use the packed_simd crate instead of std::simd `std::simd` was removed in rust-lang/rust#52535. https://crates.io/crates/packed_simd is in the rust-lang-nursery org. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21272) <!-- Reviewable:end -->
Use the packed_simd crate instead of std::simd `std::simd` was removed in rust-lang/rust#52535. https://crates.io/crates/packed_simd is in the rust-lang-nursery org. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21272) <!-- Reviewable:end -->
Closes #52403