Commit Graph

167 Commits

Author SHA1 Message Date
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
Someone Serge
dad9c99082
cudaPackages: replace the fhs paths in pkg-config files
Cf. https://github.com/NixOS/nixpkgs/issues/224119
2023-12-24 23:56:00 +00:00
Someone
5fe799eb93
Merge pull request #276536 from SomeoneSerge/fix/cuda-caffe
cudaPackages_10.flags.isJetsonBuild: fix missing attribute errors
2023-12-24 23:53:16 +00:00
Someone Serge
fa07eab5d1
cudaPackages_10: hotfix eval error in flags.nix
Closes https://github.com/NixOS/nixpkgs/issues/275939
2023-12-24 20:11:45 +00:00
Someone Serge
6ac1e13d33
cudaPackages.cuda_nvcc: pin the backend cc
This makes @ccRoot@ in setupCudaHook redundant when used with
the redist cuda packages. We do not touch setupCudaHook yet,
because we still have to address the deprecated cudaPackages.cudatoolkit
2023-12-22 03:49:24 +00:00
Someone Serge
d6450daf5d
cudaPackages.cuda_nvcc: explain nvcc.profile syntaax 2023-12-22 03:49:24 +00:00
Someone Serge
35b1e5803a
cudaPackages.cuda_nvcc: patch nvcc.profile
let nvcc know about cudart and the stub drivers; this way
we do not need to search for cudart in the setupCudaHook
2023-12-22 03:49:23 +00:00
timothy
76090aacf4 cudaPackages_12_2.cudatoolkit: 12.2.0 -> 12.2.2 2023-12-19 22:41:10 +07:00
Connor Baker
85bcd8c391 cudaPackages: add missing newline to manifest builder 2023-12-13 13:35:03 +00:00
Connor Baker
6458f9f1f4
Merge pull request #271923 from graham33/fix/nsys-ui
cudatoolkit: Replace vendored Qt plugins with symlinks
2023-12-13 08:32:07 -05:00
Connor Baker
987845b73e cudaPackages.cudnn: 8.9.6.50 -> 8.9.7.29 2023-12-12 18:39:16 -08:00
Connor Baker
b4fe267be5 cudaPackages.cudnn: correct hash for CUDA 10.2, v7.6.5.32 release 2023-12-12 18:39:16 -08:00
Connor Baker
f13c79788c cudaPackages: prefix libPath with lib in manifest builder 2023-12-12 20:46:53 +00:00
Someone Serge
076fc3ad31 cudaPackages.autoAddCudaCompatRunpathHook: dummy libcudaPath when broken 2023-12-12 17:39:08 +01:00
Someone Serge
6256391a35 cudaPackages.autoAddCudaCompatRunpathHook: broken on non-jetsons
...to prevent the evaluation of cuda_compat
2023-12-12 17:39:08 +01:00
Connor Baker
9ad72f821f
Merge pull request #267247 from yannham/feat/cuda-compat-jetson
Use cuda_compat drivers when available
2023-12-12 10:08:27 -05:00
Yann Hamdaoui
26dd975482
Add basic documentation on cuda_compat 2023-12-12 16:02:55 +01:00
Connor Baker
79f1a4f965
Merge pull request #270976 from yannham/doc/cuda-markdown-lint
cudaPackages: [doc] apply markdown lints to internal doc
2023-12-12 10:01:43 -05:00
Yann Hamdaoui
d6c198a5d9
Enable cuda_compat by default on Jetson devices
Some nvidia devices, such as the Jetson family, support the Nvidia compatibility package (nvidia_compat) which allows to run executables built against a higher CUDA major version on a system with an older CUDA driver. On such platforms, the consensus among CUDA maintainers is that there is no downside in always enabling it by default.

This commit links to the relevant cuda_compat shared libraries by patching the CUDA core packages' runpaths when cuda_compat is available, in the same way as we do for OpenGL drivers currently.
2023-12-12 15:15:48 +01:00
Yann Hamdaoui
a3ac436cfb
Add ignore dependency for cuda_compat
After testing on a Jetson device, it turns out `cuda_compat` requires libnvdla_runtime.so which can't be satisfied by autoPatchElf, as it is provided by the runtime driver. This commit simply adds this library to the list of dependency to be ignored by autoPatchElf.
2023-12-12 11:36:25 +01:00
Yann Hamdaoui
a39043f124
Apply markdown lints to CUDA READMEs 2023-12-12 10:39:18 +01:00
Someone Serge
8105992774
cudaPackages.cudatoolkit: propagate the hook to nativeBuildInputs correctly 2023-12-09 00:50:05 +00:00
Graham Bennett
a5b8caa346 cudatoolkit: Replace vendored Qt plugins with symlinks
This resolves crashes in nsys-ui
2023-12-07 22:20:29 +00:00
Connor Baker
6179d88b7d cuda-modules: tidy generic-builder/manifest installPhase and postPatchelf 2023-12-07 20:08:41 +00:00
Connor Baker
0a7dacf94d cudaPackages_12_3: init at 12.3.0 2023-12-07 16:45:56 +00:00
Connor Baker
bfaefd0873 cudaPackages: add docs 2023-12-07 16:45:56 +00:00
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