Commit Graph

159 Commits

Author SHA1 Message Date
Connor Baker
8e800cedaf cudaPackages: move derivations to cuda-modules & support aarch64
cudaPackages.cuda_compat: ignore missing libs provided at runtime

cudaPackages.gpus: Jetson should never build by default

cudaPackages.flags: don't build Jetson capabilities by default

cudaPackages: re-introduce filter for pre-existing CUDA redist packages in overrides

cudaPackages: only recurseIntoAttrs for the latest of each major version

cudaPackages.nvccCompatabilities: use GCC 10 through CUDA 11.5 to avoid a GLIBC incompatability

cudaPackages.cutensor: acquire libcublas through cudatoolkit prior to 11.4

cudaPackages.cuda_compat: mark as broken on aarch64-linux if not targeting Jetson

cudaPackages.cutensor_1_4: fix build

cudaPackages: adjust use of autoPatchelfIgnoreMissingDeps

cudaPackages.cuda_nvprof: remove unecessary override to add addOpenGLRunpath

cudaPackages: use getExe' to avoid patchelf warning about missing meta.mainProgram

cudaPackages: fix evaluation with Nix 2.3

cudaPackages: fix platform detection for Jetson/non-Jetson aarch64-linux

python3Packages.tensorrt: mark as broken if required packages are missing

Note: evaluating the name of the derivation will fail if tensorrt is not present,
which is why we wrap the value in `lib.optionalString`.

cudaPackages.flags.getNixSystem: add guard based on jetsonTargets

cudaPackages.cudnn: use explicit path to patchelf

cudaPackages.tensorrt: use explicit path to patchelf
2023-12-07 16:45:54 +00:00
Connor Baker
397d95d07f cudaPackages: move config expressions to cuda-modules 2023-12-07 16:39:34 +00:00
Connor Baker
4a25023c2e cudaPackages: regen & move manifests to cuda-modules 2023-12-07 16:39:34 +00:00
Someone Serge
be9c779deb
cudaPackages.setupCudaHook: propagate buildInputs and self
This is useful for the cuda variants of packages like opencv and pytorch,
whose xxxxConfig.cmake files do find_package(CUDAToolkit REQUIRED)
regardless of whether they actually use it. With the propagated hook,
we no longer have to manually add cuda dependencies into torch/opencvs
reverse dependencies

cudaPackages.cuda_nvcc: fix setupCudaHook propagation
2023-12-06 02:00:52 +00:00
Someone Serge
37ec2cb6b1
cudaPackages.setupCudaHook: source only from nativeBuildInputs 2023-12-05 19:24:37 +00:00
Someone Serge
d031523a01
cudaPackages.cuda_nvcc: fix hook's offsets (-1, -1) -> (-1, 0)
Cf. explanations in https://github.com/NixOS/nixpkgs/pull/271078
2023-12-05 19:24:37 +00:00
Someone Serge
e084a6c648
cudaPackages_11_3.saxpy: fallback to the cudatoolkit runfile 2023-12-05 19:24:37 +00:00
Someone Serge
182e6b41d0
cudaPackages.setupCudaHook: rewrite cudartFlags, remove infinite recursion in cudatoolkit
We don't need to add the extra nvcc flags to locate cudart when using
cudatoolkit because it comes in the merged layout and nvcc doesn't have
any trouble locating dependencies in the same prefix
2023-12-05 19:24:36 +00:00
Someone Serge
a7891f2ada
cudaPackages.setupCudaHook: fix cudart flags 2023-12-05 19:24:36 +00:00
Someone Serge
6c63202052
cudaPackages.cuda_nvcc: fix (getExe cuda_nvcc) 2023-12-04 20:24:32 +00:00
Adam Joseph
72985fe2d1 cudaPackages_10.cudaFlags: fix broken eval 2023-11-30 09:36:06 +01:00
Someone Serge
4e4bbb01eb cudaPackages: redist: EULA notice in the description
...to be displayed on search.nixos.org &c; this is the same notice as
included by conda-forge per agreement with nvidia; cf. comments in
https://github.com/NixOS/nixpkgs/pull/76233
2023-11-08 19:06:44 -03:00
Someone Serge
47209852a9 cudaPackages: redist: mark as prebuilt binary 2023-11-08 19:06:44 -03:00
Someone Serge
6cd3e9ce1a cudaPackages: redist components: per-package license url 2023-11-08 19:06:44 -03:00
Tyler Benster
dae1e0d49a cudatoolkit: add NVIDIA license 2023-11-08 19:06:44 -03:00
Florian Klink
5144dc2669 cudatoolkit: fix evaluation with Nix 2.3
Path interpolation is not available in all Nix versions nixpkgs supports.

Similar to 6c8644fc37
2023-10-06 15:10:52 +03:00
Connor Baker
d5e5246e76 cudaPackages: split outputs
This change which involves creating multiple outputs for CUDA
redistributable packages.

We use a script to find out, ahead of time, the outputs each redist
package provides. From that, we are able to create multiple outputs for
supported redist packages, allowing users to specify exactly which
components they require.

Beyond the script which finds outputs ahead of time, there is some custom
code involved in making this happen. For example, the way Nixpkgs
typically handles multiple outputs involves making `dev` the default
output when available, and adding `out` to `dev`'s
`propagatedBuildInputs`.

Instead, we make each output independent of the others. If a user wants
only to include the headers found in a redist package, they can do so by
choosing the `dev` output. If they want to include dynamic libraries,
they can do so by specifying the `lib` output, or `static` for static
libraries.

To avoid breakages, we continue to provide the `out` output, which
becomes the union of all other outputs, effectively making the split
outputs opt-in.
2023-08-31 03:31:55 +00:00
Someone Serge
065f90d25c
cudaPackages.autoAddOpenGLRunpathHook: don't skip shared libraries 2023-08-22 03:14:47 +03:00
Elliot Cameron
03e72e46cb cudaPackages.autoAddOpenGLRunpathHook: fix to skip unsupported/unneed 2023-08-05 21:08:50 -04:00
Samuel Ainsworth
931999d13b
Merge pull request #235024 from deshaw/upstream-dcgm
Add NVIDIA DCGM and DCGM-exporter (prometheus)
2023-07-26 14:48:38 -07:00
Elliot Cameron
5ba94f8629 cudatoolkit: fix build for 12.0.1
Many Qt dependencies were added only for 12.1 and above, but 12.0.1 also
needs them.
2023-07-26 16:11:54 -04:00
Elliot Cameron
65497764e8 cudatoolkit: fix builds for 10.*
libnvrtc.so is not found in the same location in all versions of
cudatoolkit.
2023-07-26 16:11:54 -04:00
Connor Baker
5825210d3f
Merge pull request #233581 from SomeoneSerge/CUDAToolkit_ROOT
cudaPackages.setupCudaHook: init
2023-07-25 14:24:12 -04:00
Someone Serge
4fafb3b90b
tree-wide: incorporate common out-of-tree cudaSupport overlays 2023-07-20 17:26:45 +03:00
Someone Serge
251d3166c5
cudaPackages.saxpy: init at unstable-2023-07-11 2023-07-20 02:17:56 +03:00
Someone Serge
bfb24acbd0
cudaPackages_10.cudatoolkit: fix infinite recursion in setupCudaHook 2023-07-20 02:17:56 +03:00
Someone Serge
9f46beb6a7
cudaPackages.setupCudaHook: init 2023-07-19 23:01:50 +03:00
Dessix
532a7d3f1d cudaPackages_12_2.cudatoolkit: init at 12.2.0
Fixed #239557 via autoPatchelf to `qt6.(...)` packages.
2023-07-03 14:35:09 -07:00
Felix Buehler
6672dde558 treewide: use optionalAttrs instead of 'else {}' 2023-06-25 11:01:34 -03:00
Dessix
2ef48c49a5 cudaPackages_12_1.cudatoolkit: fix missing build dependencies
Dependencies on gstreamer and curl were added starting in cudatoolkit 12.1; this compensates for the resulting autoPatchelf failures.
2023-06-20 13:40:07 -07:00
Break Yang
9b804b8941 cudaPackages.cudatoolkit: mark libnvrtc-builtins needed for libnvrtc
libnvrtc dlopens libnvrtc-builtins without listing it in DT_NEEDED, thus it was being stripped out from the runpath
2023-06-05 09:20:46 -07:00
Connor Baker
bbe6b21356 cudaPackages_11_8.cudatoolkit: remove broken include/include symlink
The broken symlink was causing tensorflow to fail to build.
2023-05-25 15:45:48 -04:00
figsoda
98b9e41f61 pkgs: fix typos 2023-05-19 22:31:04 -04:00
Ryan Lahfa
588058a0af
Merge pull request #224358 from SomeoneSerge/team-list-cuda
team-list: add cuda team
2023-05-05 16:44:05 +02:00
Connor Baker
9d27bdd3b5
Merge pull request #227962 from ConnorBaker/feat/cuda-12_1_1
cudaPackages_12_1: init at 12.1.1; cudnn: don't break cudaPackages
2023-04-30 12:43:45 -07:00
Connor Baker
3b143e37e7 cudaPackages_12_1: init at 12.1.1; cudnn: don't break cudaPackages when unsupported
The `throwIf` expression in CUDNN was evaluated eagerly and essentially prevented the use of cudaPackages without a supported version of CUDNN (even when CUDNN was not requested).
2023-04-25 14:07:39 -04:00
Guillaume Maudoux
46a39c48c0
Merge pull request #226038 from SomeoneSerge/cuda_nvrtc-origin
cudaPackages: append $ORIGIN to Runpaths
2023-04-14 11:28:16 +02:00
Someone Serge
97870fb60c
cudaPackages: append $ORIGIN to runtime paths 2023-04-13 19:12:37 +03:00
Someone Serge
ad0606288b
cudaPackages.backendStdenv: cc and libstdc++ as arguments; expose libstdc++ 2023-04-13 01:45:49 +03:00
Samuel Ainsworth
cd07e0258c
Merge pull request #223664 from SomeoneSerge/cuda-libstdcpp
cudaPackages: use the same libstdc++ as the rest of nixpkgs
2023-04-07 11:46:55 -04:00
Someone Serge
3af299f014
cudaPackages.cudatoolkit: hotfix the libstdc++ mismatch caused by cudatoolkit-vendored copy of the library 2023-04-07 00:28:02 +03:00
Someone Serge
bd62420fd3
cudaPackages: use same libstdc++ as the rest of nixpkgs 2023-04-07 00:28:02 +03:00
Someone Serge
b100b0a1cc
cudaPackages_11_8: un-break after migrating to autoPatchelfHook 2023-04-06 22:30:11 +03:00
Someone Serge
221fe82378
cudaPackages_12.cudatoolkit: fix after migrating to autoPatchelfHook 2023-04-06 22:30:10 +03:00
Someone Serge
868c289955
cudaPackages.cudatoolkit: move pre-cuda11 deps up, to reorder chronologically 2023-04-06 22:30:10 +03:00
Someone Serge
c690aac0c6
cudaPackages: add teams.cuda to maintainers 2023-04-03 18:28:06 +03:00
Someone Serge
15848ffa42
cudaPackages.cudatoolkit: rm preFixup rpath code
...the same logic is handled by autoPatchelf
2023-04-02 01:09:34 +03:00
Someone Serge
6dc90880de
cudaPackages.cudatoolkit: use autoPatchelf
...to ensure correctness (in the sense that all DT_NEEDED libraries are
verified to be discoverable through the runpaths)
2023-04-02 01:08:41 +03:00
Connor Baker
bdfb61e117 cudaPackages: use -Xfatbin=-compress-all; prune default cudaCapabilities 2023-03-10 23:10:57 -05:00
Someone Serge
ac64f07f9c
cudaPackages.cudaFlags: drop unused capabilitiesAndForward 2023-03-04 03:14:37 +02:00