about summary refs log tree commit diff
path: root/pkgs/development/cuda-modules/generic-builders
AgeCommit message (Collapse)AuthorFilesLines
2024-04-18cuda-modules: use stdenv instead of backendStdenv for *Platform accessConnor Baker2-3/+1
2024-04-18cuda-modules/generic-builders/manifest: add to brokenConditions, simplify ↵Connor Baker1-40/+50
src, break out comments in postPatch
2024-04-10cuda-modules: don't use *Platform attributes from pkgsConnor Baker2-3/+8
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-08Revert "cudaPackages: make getOutput work again"Connor Baker1-0/+7
2024-04-03cudaPackages: make getOutput work again cuda-updatesSomeone Serge1-7/+0
2024-04-01{pkgs/development/cuda-modules,pkgs/test/cuda,pkgs/top-level/cuda-packages.n ↵Connor Baker2-264/+263
ix}: 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-03-15cudaPackages: generalize and refactor setup hookYann Hamdaoui1-6/+6
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-01-31cudaPackage: don't rely on non-portable builtinssternenseemann1-6/+6
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 9a33f8ce5ba7329600b296996d944ec9ddaa7d38.
2024-01-20cudaPackagesGoogle.cudnn_8_6: ensure present on all platformsSomeone Serge2-10/+14
...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-20cudaPackagesGoogle.cudnn_8_6: fix evalSomeone Serge1-1/+8
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-18cudaPackages: fix multiplex builder isSupported checkConnor Baker1-2/+3
Co-Authored-By: Yann Hamdaoui <yann.hamdaoui@tweag.io>
2024-01-16cudaPackages: __structuredAttrs works with autoPatchelf since #272752Connor Baker1-5/+4
2024-01-11Merge pull request #274319 from ConnorBaker/feat/cudaPackages-all-packages-evalSomeone2-37/+56
tree-wide: cudaPackages attributes should not cause default eval to fail
2024-01-10Merge pull request #280073 from SomeoneSerge/fix/cuda-pkg-configSomeone1-7/+20
cudaPackages: move .pc to hook-defined location
2024-01-10cudaPackages: default badPlatformsConditions to emptyConnor Baker1-6/+2
2024-01-10cudaPackages: set badPlatforms when cudaSupport is falseConnor Baker1-6/+20
2024-01-10cudaPackages: unsupported platform should not set broken to trueConnor Baker1-6/+3
2024-01-10tree-wide: cudaPackages should not break default evalConnor Baker2-34/+46
cudaPackages: guard expressions against null values
2024-01-09cudaPackages: move .pc to hook-defined locationSomeone Serge1-7/+20
2023-12-26cudaPackages: manifest-builder: fake url/sha256 instead of exceptionsSomeone Serge1-4/+8
2023-12-26cudaPackages: eliminate exceptionsSomeone Serge2-16/+21
as they break common nixpkgs tools like lib.meta, cf. https://github.com/NixOS/nixpkgs/issues/276795
2023-12-25cudaPackages: allow FHS references by defaultSomeone Serge1-1/+1
...harden gradually instead
2023-12-24cudaPackages: replace the fhs paths in pkg-config filesSomeone Serge1-1/+36
Cf. https://github.com/NixOS/nixpkgs/issues/224119
2023-12-13cudaPackages: add missing newline to manifest builderConnor Baker1-0/+3
2023-12-12cudaPackages: prefix libPath with lib in manifest builderConnor Baker1-4/+6
2023-12-12Enable cuda_compat by default on Jetson devicesYann Hamdaoui1-0/+9
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-07cuda-modules: tidy generic-builder/manifest installPhase and postPatchelfConnor Baker1-14/+15
2023-12-07cudaPackages: move derivations to cuda-modules & support aarch64Connor Baker2-0/+380
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