| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
|\
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | | |
cudaPackages: fix version solving (again)
Unbreaks tensorflowWithCuda and cudaPackagesGoogle.cudnn_8_6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
...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:
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
...post https://github.com/NixOS/nixpkgs/pull/282220
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Unbreaks evaluation after the refactoring in
86c28ee650c4393ec1b6f8815a0e1ddc010cd6cb
(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
...
```
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
|/|
| |
| | |
ConnorBaker/fix/cudaPackages-multiplex-builder-isSupported-check
cudaPackages: fix multiplex builder isSupported check
|
| |
| |
| |
| | |
Co-Authored-By: Yann Hamdaoui <yann.hamdaoui@tweag.io>
|
|\ \
| |/
|/| |
cudaPackages.autoAddCudaCompatRunpathHook: Correctly inherit platforms from cuda_compat
|
| |
| |
| |
| | |
cuda_compat
|
|\ \
| | |
| | | |
cudaPackages: bump the default 11 -> 12
|
| | | |
|
| | | |
|
| |/ |
|
|/ |
|
|\
| |
| | |
tests.cuda: inherit the ready cudaPackages_XX.cuda-samples
|
| | |
|
| |
| |
| |
| | |
cudaPackages are part of the package set and should not depend on pkgs/test
|
| | |
|
| |
| |
| |
| | |
i.e. with the same offsets as nvcc itself
|
| | |
|
|/
|
|
|
|
| |
instead of the unreliable libcxx hack
(cherry picked from commit dc6a8f9f7912363577e11520bafa040c0db14359)
|
|\
| |
| | |
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.
|
|\ \
| | |
| | | |
tree-wide: cudaPackages attributes should not cause default eval to fail
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
cudaPackages: guard expressions against null values
|
|\ \ \
| | | |
| | | | |
apptainer: unbreak --nv (userns+nvliblist.conf variant)
|
| | | |
| | | |
| | | |
| | | | |
(cherry picked from commit 3e003a17bafb8ad2c9026843c241412e2d61a541)
|
|\ \ \ \
| |_|/ /
|/| | | |
cudaPackages: move .pc to hook-defined location
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
cudaPackages: apply runpath setup hooks to non-executable ELF files
|
| | |/
| |/| |
|
|/ / |
|
|\ \
| | |
| | | |
cudaPackages: eliminate exceptions
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
as they break common nixpkgs tools like lib.meta,
cf. https://github.com/NixOS/nixpkgs/issues/276795
|
|/ / |
|
|\|
| |
| | |
cudaPackages: replace the FHS paths in pkg-config files
|
| |
| |
| |
| | |
...harden gradually instead
|