-
Notifications
You must be signed in to change notification settings - Fork 581
support avx512 without nightly #866
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
base: main
Are you sure you want to change the base?
Conversation
|
this would actually require to set 1.89 as MSRV. |
|
Ideally it'd be nice to get a release out with a 1.85 MSRV so it could get packaged on Debian stable. @Slixe perhaps it could still require an explicit We could then later bump MSRV in a point release and remove it. |
|
@tarcieri could it work if we simply enable the auto detection for avx512 >= 1.89 only from |
|
Yeah, you could temporarily add rust version detection until we bump MSRV |
|
@Slixe seems like you can remove draft? |
|
I'm still having an issue, I'm not sure how the rustc 1.91.1 EDIT: it seems |
|
I think we could probably completely get rid of |
|
I believe this new commit should be good enough? |
d51e48d to
efd2531
Compare
|
@tarcieri the avx512 backend may be available & detected but won't work if the target features aren't included for compilation. which option would you prefer?
#[cfg(curve25519_dalek_backend = "avx512")]
Avx512ifma( |
|
@Slixe I'm not sure I quite understand the problem. If all the AVX-512 code is feature-gated with If the code isn't compiled with
Then |
|
There is no way to test this in CI. How / where does this get tested and who ensures it gets done if not in CI long run ? Especially if this is default-on backend that should be tested in CI... ideally.. Even if the backend doesn't change the stuff around it just might and might be hard to catch errors there. Or even how gating errors can lead to trouble e.g.: |
|
I believe some of the GitHub Actions runners have AVX-512 support. If CPU feature detection is enabled, it should at least opportunistically test when the runner has support. Not a great answer, but it is what it is: Otherwise they suggest setting up a self-hosted runner. Intel SDE is also an option, I believe. |
They used to have that with intel - which we relied on earlier - to but not anymore and they have no AMD AVX512 either. As I suggested in libcrux, should probably maybe prehaps validate that we test all the gating gi matrix as well Anyways I would not turn it on by default - not because the backend hasn't changed but more that the gating is quite involved easy to mess up and it's not the first time it has caused trouble elsewhere and we can't test it. |
|
This PR to add AVX-512 support to |
Remove the requirements of nightly for AVX512 in
build.rs&#[cfg]Solve #758