-
-
Notifications
You must be signed in to change notification settings - Fork 15.4k
nauty: disable cpu feature detection #58961
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
Conversation
I'm interested in this package as a sage dependency.
I'm not entirely sure if If anyone know more here we may be able to get away with only disabling |
At least this page lists a |
Wikipedia says that all AMD CPUs from the latest decade (2007 for first supporting CPUs) seems to support both |
Thanks for looking into that. I'm still a bit confused as to weather or not gcc has software fallbacks at runtime when those instructions are missing, but at least for popcnt it apparently hasn't. |
We should probably specify somewhere what the minimum required CPU instruction set for Nixpkgs is. Not being able to use instructions like popcnt is pretty bad for performance. |
@edolstra (this probably needs to be split off in a tracking issue) there's also the issue of the build farm having machines not having that instruction, while the others too. If the minimum supported features are defined, the build farm will need to be adjusted accordingly. The solution might be to default to performant builds, and the package requiring a And a question: would it be helpful if all cpu features were made available as a system feature within nix, maybe automatically I'm thinking we already have similar issues in aarch64-land, where I've had binaries failing to run on Cortex-A53, being built on a Cortex-A96; though rebuilding locally it worked. (Don't remember what exactly.) As far as reproducibility goes, I don't know how ready we are with facing CPU features detection. I can't find anything quickly about that on the reproducible builds' website. So uh, recap of the issues:
And things that aren't issues:
|
Motivation for this change
Nautys feature sniffing introduces bugs on older machines (like the
hydra
build machine on hydra).popcnt
seems particularly problematic, I don't know how common it is forclz
to be missing.See https://groups.google.com/forum/#!msg/sage-packaging/Pe4SRDNYlhA/5_k9dZAoBAAJ.
Thanks @samueldr for hunting this issue down. CC @7c6f434c
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)