There are many different versions of the `cudatoolkit` and related
cuda packages, and it can be tricky to ensure they remain compatible.
- `cudaPackages` is now a package set with `cudatoolkit`, `cudnn`, `cutensor`, `nccl`, as well as `cudatoolkit` split into smaller packages ("redist");
- expressions should now use `cudaPackages` as parameter instead of the individual cuda packages;
- `makeScope` is now used, so it is possible to use `.overrideScope'` to set e.g. a different `cudnn` version;
- `release-cuda.nix` is introduced to easily evaluate cuda packages using hydra.
Remove old CUDA toolkits (and corresponding CuDNN versions).
- Not supported by upstream anymore.
- We do not use them in nixpkgs.
- We do not test or actively maintain them.
- Anything but ancient GPUs is supported by newer toolkits.
Fixes#107131.
Remove ancient CUDA toolkits (and corresponding CuDNN versions):
- Not supported by upstream anymore.
- We do not use them in nixpkgs.
- We do not test or actively maintain them.
- Anything but ancient GPUs is supported by newer toolkits.
NixOS 20.0.9's default NVIDIA video driver version is 455.38, which supports CUDA 11.1.1.
**Things to note:**
- [ ] Users with nvtop installed may need to upgrade their nvtop installation due to caching behavior
This has the benefit of being able to override all the inputs to the
build where you were previously only able to override the entire package
set (if at all).
Quoting from the splitString docstring:
NOTE: this function is not performant and should never be used.
This replaces trivial uses of splitString for splitting version
strings with the (potentially builtin) splitVersion.
This fixes cudatoolkit building on non-sandboxed system.
The cudatoolkit tests run each of the CUDA binaries as a small smoke
test just to make sure they all can at least somewhat run.
However, the `cuda-gdb` binary doesn't run correctly on non-sandboxed
systems because it picks up versions of Python from /usr/lib.
This PR disables the smoke tests for now. They should be re-enabled
when we figure out how to make them work for cuda-gdb on non-sandboxed
systems.
This PR is for #57939.
This fixes the following error when starting nvvp or nsight:
```
(java:23876): Gtk-WARNING **: 19:12:17.777: Unable to locate theme engine in module_path: "adwaita",
A fatal error has been detected by the Java Runtime Environment:
SIGSEGV (0xb) at pc=0x00007f957f7b67fe, pid=23876, tid=140281059333888
JRE version: Java(TM) SE Runtime Environment (8.0_77-b03) (build 1.8.0_77-b03)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.77-b03 mixed mode linux-amd64 compressed oops)
Problematic frame:
C [libpixbufloader-bmp.so+0x27fe] gdk_pixbuf__bmp_image_load_increment+0xeee
```
Since GDK_PIXBUF_MODULE_FILE should match the version we actually link
to, we override the environment variable using the one provided by the
gdk_pixbuf setup-hook.