Commit Graph

502 Commits

Author SHA1 Message Date
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