Commit Graph

111 Commits

Author SHA1 Message Date
Connor Baker
c66994ce1c
Merge pull request #301416 from ConnorBaker/feat/cudaPackages-lessons-learned-from-cross-compilation-attempt
cuda-modules: apply lessons learned from cross-compilation attempts
2024-04-18 20:10:59 -04:00
Connor Baker
6208368a82 cudaPackages.cudaFlags: drop unused cmakeCudaArchitectures attribute 2024-04-18 16:31:18 +00:00
Connor Baker
7a66dcf83f cuda-modules: use stdenv instead of backendStdenv for *Platform access 2024-04-18 16:31:18 +00:00
Connor Baker
843b91a0ee cuda-modules/cuda/overrides: refactor 2024-04-18 16:31:18 +00:00
Connor Baker
d5cbe889f0 cuda-modules/generic-builders/manifest: add to brokenConditions, simplify src, break out comments in postPatch 2024-04-18 16:31:18 +00:00
Connor Baker
0494330fad cudaPackages.nccl: switch to cudaAtLeast, cudaOlder, and __structuredAttrs 2024-04-18 16:31:18 +00:00
Connor Baker
5ed9f23d21 cudaPackages.saxpy: switch to cudaAtLeast, cudaOlder, __structuredAttrs, and enable on Jetson post-11.4 2024-04-18 16:31:18 +00:00
Connor Baker
e77b24b159 cudaPackages.flags: add cmakeCudaArchitectures and cmakeCudaArchitecturesString 2024-04-18 16:31:18 +00:00
Connor Baker
5ee7bfc443 cudaPackages.setupCudaHook: fix error when reading empty marker 2024-04-18 16:31:18 +00:00
Connor Baker
02966afc54 cudaPackages.setupCudaHook: always set return explicitly
On NixOS, the the return status is that of the last command executed within the function or script.

When we're doing tests immediately before the return, the value you end up returning might not be what you want.
2024-04-18 16:31:18 +00:00
Connor Baker
a31b0d7f95 cudaPackages.setupCudaHook: sourcing messages should match hook name 2024-04-18 16:31:18 +00:00
Connor Baker
9230c2cc8d cudaPackages.markForCudatoolkitRootHook: fix bug with strictDeps
The setupCudaHook always checks for the existence of `$prefix/nix-support/include-in-cudatoolkit-root`, so we need to be sure
it always exists. It isn't populated when `strictDeps` is set, but it must exist.
2024-04-18 16:31:16 +00:00
Connor Baker
f6bbcf854c
Merge pull request #304112 from r-ryantm/auto-update/cudaPackages.nccl
cudaPackages.nccl: 2.20.5-1 -> 2.21.5-1
2024-04-17 22:42:22 -04:00
R. Ryantm
2c49d257da cudaPackages.nccl: 2.20.5-1 -> 2.21.5-1 2024-04-14 19:12:44 +00:00
Someone Serge
8262bdf738 cudaPackages.cudatoolkit: replace with symlinkJoin 2024-04-13 10:28:07 +00:00
Connor Baker
c46343615d
Merge pull request #282170 from jmbaur/rm-nsight-cuda-10
cudaPackages: remove nsight-systems from cuda 10
2024-04-10 14:24:41 -04:00
Jonathan Ringer
52eb8850b8
cudaPackages.autoAdd{Driver,OpengGL}Runpath: deprecate 2024-04-10 08:31:19 -07:00
Connor Baker
ad2a4e862c cudaPackages.markForCudatoolkitRootHook: always set return explicitly 2024-04-10 14:14:00 +00:00
Connor Baker
d22f03ede9 cuda-modules: update uses of substituteInPlace to --replace-fail to fix deprecation warning 2024-04-10 14:14:00 +00:00
Connor Baker
14635b4092 cuda-modules: don't use *Platform attributes from pkgs
For more information about *why* this is desirable, see
https://github.com/NixOS/nixpkgs/pull/45717
and
https://github.com/NixOS/nixpkgs/issues/27069
2024-04-10 14:14:00 +00:00
Connor Baker
2639fa16b9 cudaPackages.backendStdenv: prune and sort callPackage args 2024-04-10 14:14:00 +00:00
Connor Baker
e17ed6d750
Revert "cudaPackages: make getOutput work again" 2024-04-08 18:04:49 -04:00
Connor Baker
0fcbda8294
Merge pull request #301180 from SomeoneSerge/fix/cudaPackages/outputSpecified
cudaPackages: make getOutput work again
2024-04-08 12:15:45 -04:00
Someone Serge
a2954dea37 cudaPackages: make getOutput work again 2024-04-03 08:41:20 +00:00
Someone Serge
39f35098d5 cudaPackages.autoAddDriverRunpath: drop the redundant copy of the hook 2024-04-03 08:36:41 +00:00
Connor Baker
93b08a7061 {pkgs/development/cuda-modules,pkgs/test/cuda,pkgs/top-level/cuda-packages.nix}: reformat all CUDA files with nixfmt-rfc-style 2023-03-01
```bash
nix run github:NixOS/nixpkgs/ab6071eb54cc9b66dda436111d4f569e4e56cbf4#nixfmt-rfc-style -L --allow-import-from-derivation -- pkgs/development/cuda-modules pkgs/test/cuda pkgs/top-level/cuda-packages.nix
```
2024-04-01 01:14:28 +00:00
Jonathan Ringer
0de1457fe3 cudaPackages.saxpy: use pkgs.autoAddDriverRunpath 2024-03-31 08:03:23 -07:00
Jonathan Ringer
66b556fa48
cudaPackages.nccl: use pkgs.autoAddDriverRunpath 2024-03-30 11:19:45 -07:00
Jonathan Ringer
11387afc0d cudaPackages/aliases: init 2024-03-30 10:12:13 -07:00
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
Jared Baur
ebf185539f
cudaPackages: remove libstdc++ from nsight-systems from cuda 10
CUDA's nsight-systems comes with its own version of libstdc++.so that conflicts
with stuff compiled against nixpkgs libstdc++, so lets remove it.
2024-01-19 17:42:09 -08: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