Conversation
Update cuDNN 8.3 version. Refactor the cuDNN derivations to be clearer and enforce CUDA version constraints.
|
cc @NixOS/cuda-maintainers |
|
I'll go ahead and merge tomorrow unless anyone objects. |
| cudnn_8_3_cudatoolkit_11; | ||
|
|
||
| cudnn = cudnn_7_6_cudatoolkit_10; | ||
| # TODO(samuela): This is old and should be upgraded to 8.3 at some point. |
There was a problem hiding this comment.
If it's too old, why do we keep it as a default?
There was a problem hiding this comment.
Just because no one's gotten around to updating it yet. But that would be great for a follow-up PR!
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
|
Nixpkgs also packages
Which attribute should the users of |
|
Some package set maintainers may complain about the effort it takes to update and validate urls and hashes, but I think |
Sadly, none. I'm basing this off of NVIDIA's official version constraints. There's sort of a policy question here: How strictly should we track upstream's version constraints? As you note, it is possible to smudge those constraints in certain scenarios and it "seems to work." My personal inclination atm is to wait for a new cuDNN release that officially supports CUDA 11.6 because
Thanks! Yeah, I'm hoping that this is a step in the right direction. Dealing with these version constraints is a huge mental burden normally so it's nice to have the system help you out here and there. |
Then we can clarify the cudnn-cudatoolkit situation in the wiki (st people don't just feel they're on their own), and later work out the UX of overriding cuda version |
|
Yeah, good idea. This would be a great bit of info for the wiki page. |
|
I haven't edited the main page yet, but I added comments in the talk page: https://nixos.wiki/wiki/Talk:Nvidia#cudnn |
|
|
||
| cudnn = cudnn_7_6_cudatoolkit_10; | ||
| # TODO(samuela): This is old and should be upgraded to 8.3 at some point. | ||
| cudnn = cudnn_7_6_cudatoolkit_10_1; |
There was a problem hiding this comment.
Doesn't this have to be cudnn_8_3_cudatoolkit_10 in order to be compatible with the currently packaged cudatoolkit?
There was a problem hiding this comment.
Ideally, yes. The issue is that cuDNN 7.6.5 doesn't actually support CUDA 10.2, the current cudatoolkit version. And I didn't want to upgrade cuDNN past 7.6.5 here in the interest of keeping this PR as small as possible. The solution is to upgrade cudnn to 8.3 which supports CUDA 10.2-11.5. (Looks like you're already on that, great!)
In the future, it think it would be nice to explore a solution like cudatoolkit_11.withPackages similar to python3.withPackages, but we have to move one step at a time to get the ball rolling.
Description of changes
Update cuDNN 8.3 version. Refactor the cuDNN derivations to be clearer and enforce CUDA version constraints.
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes