Without the change the build fails on `master` as:
```
tableau.cc:90:9: error: ordered comparison of pointer with integer zero ('unsigned char*' and 'int')
90 | if(Buf<=0) return false;
| ~~~^~~
```
* cudaPackages.cudnn: migrate to redist cudaPackages
* cudaPackages.cudnn: fix missing zlib in rpath
* cudaPackages.cudnn: remove the propagated cudatoolkit
* cudaPackages.cudnn: use autoPatchelfHook
instead of custom find ... -exec ldd | grep routine
mark libcudnn_cnn_infer.so as needed for libcudnn.so on cudnn>=8.0.5
- a hint for autoPatchelf, as an alternative to manually adding $ORIGIN
* cudaPackages.cudnn: use automatic hooks for rpath
as a more common way to use addOpenGLRunpath and autoPatchelf with cudaPackages
* cudaPackages.cudnn: consume individual cuda packages
...since cudnn is part of the cuda package set
- introduces the scary useCudatoolkitRunfile function argument
to discourage usage of the runfile-based cudatoolkit
- instead of the rather hidden useRedist term in let ... in
- repeats cudatoolkit_root pattern after cuda_joined in pytorch &c
(the "toolchain view")
- redist packages are marked optional to support cuda<11.4 where the
attributes for redist packages do not exist
* cudaPackages.cudnn: update to pname+version
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
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.