Commit Graph

178 Commits

Author SHA1 Message Date
Emily
bf451f016e cudaPackages.cutensor: fix license field name 2024-07-08 00:46:05 +01:00
github-actions[bot]
e14242d985
Merge staging-next into staging 2024-07-04 12:01:37 +00:00
Vladimír Čunát
44b36397c2
Merge branch 'master' into staging-next
Conflicts - GitHub wouldn't auto-resolve them but my local git did:
	pkgs/development/cuda-modules/cuda/overrides.nix
2024-07-04 10:10:22 +02:00
Someone Serge
82018339bd treewide: cuda: use propagatedBuildInputs, lib.getOutput 2024-07-02 01:47:19 +00:00
Sefa Eyeoglu
416ba8804b
treewide: use addDriverRunpath
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-06-30 15:01:01 -04:00
Someone Serge
f1ddae47e3 cudaPackages: make getOutput work again
(cherry picked from commit a2954dea37)
2024-06-28 11:28:14 +00:00
Martin Weinelt
d50a1e97b1
Merge remote-tracking branch 'origin/master' into staging-next 2024-06-27 16:16:01 +02:00
Someone Serge
79a7186f1c cudaPackages: updated convention for gpu/runtime checks
Runtime tests (derivations asking for a relaxed sandbox) are now
expected at p.gpuCheck, p.gpuChecks.<name>, or at
p.tests.<name>.gpuCheck.
2024-06-26 16:00:29 +00:00
Someone Serge
efd64b5f0b cudaPackages: move cuda tests from passthru.tests
Otherwise we crash Ofborg
2024-06-26 00:35:45 +00:00
Someone Serge
9aa0403154 cudaPackages.saxpy: passthru: test gpu/runtime 2024-06-26 00:35:44 +00:00
Emily
fbda1dbfd6 treewide: replace freeglut with libglut
Allow the macOS GLUT framework to be used automatically in many
cases. Packages that specifically search for freeglut or require its
additional APIs should still explicitly depend on it.

Deliberately skip the Haskell package set, which is mostly
automatically generated, and mupdf, which has its own fork of freeglut.
2024-06-22 18:06:51 +01:00
Silvan Mosberger
a8b2953b19
cudaPackages.saxpy: Avoid unnecessary rebuilds (#319886)
E.g. when changing the Nix file
2024-06-14 21:18:42 +00:00
Alexis Hildebrandt
f8c4a98e8e treewide: Remove the definite article from meta.description
nix run nixpkgs#silver-searcher -- -G '\.nix$' -0l 'description.*"([Tt]he)? ' pkgs \
  | xargs -0 nix run nixpkgs#gnused -- -i '' -Ee 's/(description.*")[Tt]he (.)/\1\U\2/'
2024-06-09 23:08:46 +02:00
Alexis Hildebrandt
755b915a15 treewide: Remove indefinite article from meta.description
nix run nixpkgs#silver-searcher -- -G '\.nix$' -0l 'description.*"[Aa]n?' pkgs \
  | xargs -0 nix run nixpkgs#gnused -- -i '' -Ee 's/(description.*")[Aa]n? (.)/\1\U\2/'
2024-06-09 23:07:45 +02:00
Alexis Hildebrandt
bf995e3641 treewide: Remove ending period from meta.description
nix run nixpkgs#silver-searcher -- -G '\.nix$' -0l 'description.*".*\.";' pkgs \
  | xargs -0 nix run nixpkgs#gnused -- -i '' -Ee 's/(description.*)\.";/\1";/'
2024-06-09 23:04:51 +02:00
wrvsrx
ae5074ef87
cudaPackages: fix an annoying warning caused by alias 2024-06-02 11:58:57 +08:00
wrvsrx
9981e5be60
cudaPackages: fix an alias typo 2024-06-02 11:56:58 +08:00
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
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 3e003a17ba)
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
Someone
e44ac85df2
Merge pull request #275921 from SomeoneSerge/fix/cuda-pkg-config
cudaPackages: replace the FHS paths in pkg-config files
2023-12-25 10:36:59 +00:00
Someone Serge
5d6136a53e
cudaPackages: allow FHS references by default
...harden gradually instead
2023-12-25 00:38:48 +00:00
Someone Serge
cfa07014b6
cudaPackages.cuda_cudart: patch cuda-XX.Y.pc 2023-12-24 23:56:00 +00:00