Commit Graph

81 Commits

Author SHA1 Message Date
Franz Pletz
29b03c9fc1
Merge pull request #293555 from r-ryantm/auto-update/cudaPackages.nccl
cudaPackages.nccl: 2.20.3-1 -> 2.20.5-1
2024-03-26 12:41:05 +01:00
Someone Serge
4006c2490f
cudaPackages.autoAddOpenGLRunpath: keep an alias for compatibility 2024-03-15 15:06:32 +00:00
Yann Hamdaoui
63746cac08
cudaPackages: generalize and refactor setup hook
This PR refactor CUDA setup hooks, and in particular
autoAddOpenGLRunpath and autoAddCudaCompatRunpathHook, that were using a
lot of code in common (in fact, I introduced the latter by copy pasting
most of the bash script of the former). This is not satisfying for
maintenance, as a recent patch showed, because we need to duplicate
changes to both hooks.

This commit abstract the common part in a single shell script that
applies a generic patch action to every elf file in the output. For
autoAddOpenGLRunpath the action is just addOpenGLRunpath (now
addDriverRunpath), and is few line function for
autoAddCudaCompatRunpathHook.

Doing so, we also takes the occasion to use the newer addDriverRunpath
instead of the previous addOpenGLRunpath, and rename the CUDA hook to
reflect that as well.

Co-Authored-By: Connor Baker <connor.baker@tweag.io>
2024-03-15 15:54:21 +01:00
R. Ryantm
eb9b60a2de cudaPackages.nccl: 2.20.3-1 -> 2.20.5-1 2024-03-05 17:30:51 +00:00
R. Ryantm
791105a425 cudaPackages.nccl: 2.19.3-1 -> 2.20.3-1 2024-02-16 19:04:55 +00:00
R. Ryantm
55747839b5 cudaPackages.nccl-tests: 2.13.8 -> 2.13.9 2024-02-07 15:19:31 +00:00
Someone
c5fb89106b
Merge pull request #285527 from lheckemann/cudatoolkit-libglvnd
cudaPackages.cudatoolkit: add libglvnd to inputs
2024-02-04 08:44:52 +00:00
Linus Heckemann
83085e6381 cudaPackages.cudatoolkit: add libglvnd to inputs
At least some of the older versions (we noticed the problem with 11.4)
need libEGL.so. libglvnd seems like the obvious place to get it.
2024-02-01 12:14:18 +01:00
sternenseemann
83d131fd30 cudaPackage: don't rely on non-portable builtins
builtins.groupBy was added in Nix 2.5 (https://nixos.org/manual/nix/stable/release-notes/rl-2.5),
but Nixpkgs has to support Nix >= 2.3.

Problem introduced in 9a33f8ce5b.
2024-01-31 21:32:25 +01:00
Someone
0689dd2c53
Merge pull request #282185 from SomeoneSerge/fix/cu-multiplex
cudaPackages: fix version solving (again)

Unbreaks tensorflowWithCuda and cudaPackagesGoogle.cudnn_8_6
2024-01-22 22:35:13 +00:00
Someone Serge
1d24d54ef4
cudaPackages.backendStdenv: fix eval error blocking the channel
...post https://github.com/NixOS/nixpkgs/pull/282220
2024-01-21 12:33:18 +00:00
Someone Serge
fb6b84603e
cudaPackages.backendStdenv: drop the commented out code 2024-01-20 17:32:00 +00:00
Someone Serge
e48abe92fd
cudaPackages.cuda_nvcc: back-end cc already exposes the c++ stdlib
Unbreaks evaluation after the refactoring in
86c28ee650
(https://github.com/NixOS/nixpkgs/pull/282220).

Explicitly extending nvcc's LIBRARIES may have been redundant (building
something mildly cursed like jaxlib may be necessary to verify)

Previously:
```
❯ NIXPKGS_ALLOW_UNFREE=1 nix-instantiate '.' -A tests.cuda
...
       error: necessary to fix CI
❯ nix build -f '.' --arg config '{ allowUnfree = true; }' -L python3Packages.torchWithCuda
...
       error: necessary to fix CI
```

Now:
```
❯ NIXPKGS_ALLOW_UNFREE=1 nix-instantiate '.' -A tests.cuda
/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-cuda-samples-12.2.drv
/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-saxpy-unstable-2023-07-11.drv
...
```
2024-01-20 17:22:44 +00:00
Adam Joseph
86c28ee650 cc-wrapper: relocate proprietary-compiler-specific material
PR #275947, which was self-merged without approvals, inserted
functionality specific to a propriteary closed-source compiler
(CUDA) into cc-wrapper.

This commit relocates this CUDA-specific functionality into the
appropritate place: `cuda-modules`.

It is unclear to me exactly what this function is supposed to be
doing; much of it (like the `.kind` attributes) do not appear to be
used *anywhere* in nixpkgs.  Making sure we don't insert unexplained
deadcode like this is one of the important functions of the review
process.
2024-01-20 05:46:57 +00:00
Someone Serge
5cf0f04f95
cudaPackagesGoogle.cudnn_8_6: ensure present on all platforms
...including jetson

Previously:
❯ nix eval -f . --argstr system aarch64-linux --arg config '{ cudaCapabilities = [ "6.2" ]; cudaEnableForwardCompat = false; cudaSupport = true; allowUnfree = true; }' -L cudaPackagesGoogle.cudnn_8_6.outPath
attribute ... in selection path .... not found

Now:
❯ nix eval -f . --argstr system aarch64-linux --arg config '{ cudaCapabilities = [ "6.2" ]; cudaEnableForwardCompat = false; cudaSupport = true; allowUnfree = true; }' -L cudaPackagesGoogle.cudnn_8_6.outPath
       error: Package ‘cudnn-8.6.0.163’ in ... is not available on the requested hostPlatform:
2024-01-20 01:27:24 +00:00
Someone Serge
9a33f8ce5b
cudaPackagesGoogle.cudnn_8_6: fix eval
Now:
❯ nix eval -f . --arg config '{ allowUnfree = true; }' cudaPackagesGoogle.cudnn_8_6.outPath
"/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-cudnn-8.6.0.163"

Previously:
meta.broken = true
2024-01-20 01:08:32 +00:00
Someone
8da872fefa
Merge pull request #281806 from ConnorBaker/fix/cudaPackages-multiplex-builder-isSupported-check
cudaPackages: fix multiplex builder isSupported check
2024-01-19 23:57:35 +00:00
Someone
e043bc0188
Merge pull request #281461 from hacker1024/patch-8
cudaPackages.autoAddCudaCompatRunpathHook: Correctly inherit platforms from cuda_compat
2024-01-18 21:04:20 +00:00
Connor Baker
c9dca80340 cudaPackages: fix multiplex builder isSupported check
Co-Authored-By: Yann Hamdaoui <yann.hamdaoui@tweag.io>
2024-01-18 15:43:06 +00:00
Someone
8282fe9c6f
Merge pull request #269639 from SomeoneSerge/update/cudaPackages
cudaPackages: bump the default 11 -> 12
2024-01-17 21:13:37 +00:00
Someone Serge
bed725db88
cudaPackages_11_4.nsight_systems: clean up the deprecation comments 2024-01-17 15:17:01 +00:00
hacker1024
43afe6a62b
cudaPackages.autoAddCudaCompatRunpathHook: Correctly inherit platforms from cuda_compat 2024-01-17 15:34:40 +11:00
Someone Serge
8ddc8e3355
cudaPackages_12.nsight_systems: unbreak 2024-01-17 00:50:15 +00:00
Someone Serge
b16942dfa8
cudaPackages.cuda_cudart: a separate output for stub 2024-01-17 00:50:14 +00:00
Connor Baker
c86b13ed6d cudaPackages: __structuredAttrs works with autoPatchelf since #272752 2024-01-16 20:46:13 +00:00
Someone
447236a22f
Merge pull request #280386 from SomeoneSerge/fix/tests.cuda
tests.cuda: inherit the ready cudaPackages_XX.cuda-samples
2024-01-15 14:31:08 +00:00
Someone Serge
18b114d8bf
cudaPackages_11_4.saxpy: clean(er) eval error 2024-01-12 20:24:50 +00:00
Someone Serge
875e43dfd7
cudaPackages.cuda{,-library}-samples: move to cuda-modules/
cudaPackages are part of the package set and should not depend on pkgs/test
2024-01-12 20:24:50 +00:00
Someone Serge
497f6119e2
cudaPackages.backendStdenv: switch to stdenvAdapters.useLibsFrom 2024-01-12 17:38:01 +00:00
Someone Serge
c45e1b6459
cudaPackages.cuda_nvcc: use gcc from pkgsHostTarget
i.e. with the same offsets as nvcc itself
2024-01-12 17:38:00 +00:00
Someone Serge
8eda4c36a5
cc-wrapper: cxxStdlib: expose solib and package separately 2024-01-12 17:38:00 +00:00
Rahul Butani
210ce38408
cudaPackages.backendStdenv: use gccForLibs
instead of the unreliable libcxx hack

(cherry picked from commit dc6a8f9f7912363577e11520bafa040c0db14359)
2024-01-12 17:38:00 +00:00
Someone
65f2493611
Merge pull request #278828 from jonringer/fix-cuda-10.0
cudaPackage_10_0.cudatoolkit: fix build
2024-01-11 04:34:14 +00:00
Someone
e529aea84f
Merge pull request #274319 from ConnorBaker/feat/cudaPackages-all-packages-eval
tree-wide: cudaPackages attributes should not cause default eval to fail
2024-01-11 04:32:59 +00:00
Someone
7953a78641
Merge pull request #280076 from SomeoneSerge/fix/apptainer-nv-cherry
apptainer: unbreak --nv (userns+nvliblist.conf variant)
2024-01-11 00:51:23 +00:00
Someone
cbb51cb198
Merge pull request #280073 from SomeoneSerge/fix/cuda-pkg-config
cudaPackages: move .pc to hook-defined location
2024-01-10 20:38:05 +00:00
Someone Serge
f4474ec730
cudaPackages.saxpy: 1/3 the runtime closure
(cherry picked from commit 3e003a17bafb8ad2c9026843c241412e2d61a541)
2024-01-10 17:39:50 +00:00
Connor Baker
b2f97e14ae cudaPackages: default badPlatformsConditions to empty 2024-01-10 01:15:02 +00:00
Connor Baker
5c260fa532 cudaPackages: set badPlatforms when cudaSupport is false 2024-01-10 01:15:01 +00:00
Connor Baker
5e472d9468 cudaPackages: unsupported platform should not set broken to true 2024-01-10 01:15:01 +00:00
Connor Baker
9bebd9e72d tree-wide: cudaPackages should not break default eval
cudaPackages: guard expressions against null values
2024-01-10 01:15:01 +00:00
Connor Baker
9c4e129963
Merge pull request #277213 from danielfullmer/cuda-runpath-libs
cudaPackages: apply runpath setup hooks to non-executable ELF files
2024-01-09 18:13:15 -05:00
Someone Serge
f837bf92f8
cudaPackages: move .pc to hook-defined location 2024-01-09 23:10:22 +00:00
Silvan Mosberger
9be716fb75 cudaPackages.autoAddCudaCompatRunpathHook: Fix eval w/o cuda_compat 2024-01-07 23:25:41 +01:00
Jonathan Ringer
72db73af3d cudaPackage_10_0.cudatoolkit: fix build
Acknowledge to `autoPatchelfHook` that we don't have
ancient versions of ffmeg for the jre shipped.

Also, targets/ directory doesn't exist in cuda 10.0, so
the preFixup phase collected 0 files and when passed to
patchelf would fail the build.
2024-01-04 19:17:44 -08:00
Daniel Fullmer
f5378ccb5d cudaPackages: apply runpath setup hooks to non-executable ELF files 2023-12-27 16:24:27 -08:00
Someone
86b7775ff3
Merge pull request #276800 from SomeoneSerge/fix/cuda-no-throw
cudaPackages: eliminate exceptions
2023-12-26 04:54:10 +00:00
Someone Serge
cf214375c9
cudaPackages: manifest-builder: fake url/sha256 instead of exceptions 2023-12-26 03:33:17 +00:00
Someone Serge
576c4f4af5
cudaPackages: eliminate exceptions
as they break common nixpkgs tools like lib.meta,
cf. https://github.com/NixOS/nixpkgs/issues/276795
2023-12-26 03:33:17 +00:00
Someone Serge
c7d0840286
cudaPackages.cudart: stubs: add the libcuda.so.1 soname 2023-12-25 22:18:06 +00:00