Skip to content
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

Performance-focused defaults #5

Open
SomeoneSerge opened this issue Feb 19, 2022 · 5 comments
Open

Performance-focused defaults #5

SomeoneSerge opened this issue Feb 19, 2022 · 5 comments
Labels
enhancement New feature or request

Comments

@SomeoneSerge
Copy link

Is your feature request related to a problem? Please describe.

I only use unfree when I build for sci-comp applications. This virtually always means that I also want:

cudaSupport = true

blas = prev.blas.override {
    blasProvider = final.mkl;
};

lapack = prev.lapack.override {
    lapackProvider = final.mkl;
};

There could be other options that people commonly use together with allowUnfree.
At least the ones listed cause a significant amount of rebuilds.

Describe the solution you'd like

Choose an acceptable set of "defaults", including the config and an overlay, that are common for sci-comp purposes.
Build and cache nixpkgs with these defaults.

Describe alternatives you've considered

There seem to be two purposes to this flake:

  • Being the single root instance for all nixpkgs that have unfree packages enabled
  • Providing the infrastructure for testing and caching the heavy unfree packages

Overriding globally the cudaSupport and blas might potentially be detrimental to the former. We might want to still expose the "simplest" nixpkgs by default (i.e. allowUnfree = true only), but I think it's important that a modest overlay like above does not result in too many cache-misses

@SomeoneSerge SomeoneSerge added the enhancement New feature or request label Feb 19, 2022
@Mic92
Copy link
Member

Mic92 commented Feb 19, 2022

Yeah. Having cudaSupport enabled everywhere makes a lot of sense.

@Mic92
Copy link
Member

Mic92 commented Feb 19, 2022

Related https://github.com/markuskowa/NixOS-QChem/blob/master/overlays/cuda.nix

@zimbatm
Copy link
Member

zimbatm commented Feb 19, 2022

Sounds good. Ideally, nixpkgs gets a new cudaSupport global config flag so we don't have to maintain an overlay.

@zimbatm
Copy link
Member

zimbatm commented Feb 19, 2022

I also found https://github.com/nix-community/nix-data-science which might have some interesting learnings in there.

@zimbatm
Copy link
Member

zimbatm commented Feb 20, 2022

Related issue that needs to be addressed to make this credible: https://discourse.nixos.org/t/using-cuda-enabled-packages-on-non-nixos-systems/17788

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants