Commit Graph

111 Commits

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