!eWOErHSaiddIbsUNsJ:nixos.org

NixOS CUDA

281 Members
CUDA packages maintenance and support in nixpkgs | https://github.com/orgs/NixOS/projects/27/ | https://nixos.org/manual/nixpkgs/unstable/#cuda57 Servers

Load older messages


SenderMessageTime
3 Dec 2025
@glepage:matrix.orgGaétan Lepage You can also append ?priority=3 to the substituters in /etc/nix/nix.conf 21:20:09
@hexa:lossy.networkhexa (UTC+1)ah ok21:20:19
@keiichi:matrix.orgtetoha yeah the server shows 50 as default https://cache.nixos-cuda.org/ so I have nothing to do nice :) 22:22:24
@keiichi:matrix.orgteto (I was indeed thinking of ?priority ) 22:22:39
@hexa:lossy.networkhexa (UTC+1)it does now 😛22:24:16
@corroding556:matrix.orgcorroding556 joined the room.23:55:01
4 Dec 2025
@corroding556:matrix.orgcorroding556

Hi all! Very much appreciate the work that's been put into CUDA support in nixpkgs/NixOS.
Recently updated my system configuration to a more recent version of nixpkgs and had to pin cudaCapabilities to 6.1 now that CUDA 13.0 has dropped support for Pascal, started getting some confusing build failures as a result.
Spent several hours looking into how the CUDA packaging ecosystem works only to realize using --trace-verbose gave the answer straight up >.<.

It seems nixpkgs updating to use cuDNN 9.13 means that other packages pulling in cudaPackages_12_{6,8,9} no longer support compute capabilities < 7.5 even though CUDA supports compute capabilities >= 5.0 up until the jump to 13.0.

I noticed 9.13 is not the only version in nixpkgs though, what is the strategy around how many legacy versions of CUDA packages to maintain in nixpkgs?
Does it make sense to add cuDNN 9.11 as a pinned version to bridge the gap since 9.12 has dropped support for compute capabilities < 7.5?
If that's not appropriate 8.9.7 is the most recent version available in nixpkgs which still supports my hardware, how would I/how reasonable is it to force my config to use that?

Sorry for all the questions, appreciate any advice 😅

01:57:08
@aliarokapis:matrix.orgAlexandros Liarokapisany idea what is the difference between torch-bin and torchWithCuda ?12:28:06
@sporeray:matrix.orgRobbie Buxton
In reply to @aliarokapis:matrix.org
any idea what is the difference between torch-bin and torchWithCuda ?
Iirc torch-bin is torch not built from source and torchWithCuda is torch built from source with cuda enabled forced regardless of global configuration?
13:34:25
@glepage:matrix.orgGaétan LepageYes, this is it.13:46:25
@aliarokapis:matrix.orgAlexandros Liarokapisand it is apparently in the nixos cache by defualt?14:05:18
@aliarokapis:matrix.orgAlexandros Liarokapis* and it is apparently in the nixos cache by default?14:16:57
@glepage:matrix.orgGaétan Lepage I'm not sure torchWithCuda will be.
For `cudaSupport-enabled packages, consider using the Flox binary cache, or the NixOS-CUDA one.
14:28:52
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)

I’ll try to answer this later today. Depending on how comfortable you are with Nix, pull in the overlay for CUDA-legacy (https://github.com/nixos-cuda/cuda-legacy) to add a bunch of manifests and then customize the package set to your liking by using override on the CUDA package set and providing the manifest version you want. The docs are lacking an example for this.

As you discovered, NVCC may support capabilities but that doesn’t mean the big libraries most people use (cuDNN, libcublas, TensorRT, etc.) do. We have the unenviable job of either adopting the latest release for each version or fixing them in time and never updating. The decision is made more difficult by the fact NVIDIA seems to fix bugs by doing major/minor releases much more often than patch releases.

The trace-verbose thing is handy but undocumented and only exists because implementations of the Problems RFC keep getting bikeshedded to death.

We should probably have a section in the CUDA docs which list supported capabilities for each package set. Could be automatically generated given I added the available capabilities for each release to backendStdenv.

16:28:20
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8) god i hate computers 16:29:35
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)Reminder to self: post about changes I’ve been working on / need (fix adding attributes to backendStdenv, nvcc multiple outputs again, ccache)16:33:13
@ss:someonex.netSomeoneSerge (back on matrix)

problems rfc

Tha release was cut off, IMO we should push a half-assed partial impl as per my closed PR in, bc 99% of the features we don't care about

19:52:52
@ss:someonex.netSomeoneSerge (back on matrix)

stdenv attributes

...also nuke the other 90% attributes that don't actually belong and aren't even used

19:53:40
@corroding556:matrix.orgcorroding556Thank you so much! cuda-legacy was exactly what I needed. Managed to get the configuration successfully built and deployed, going to try out an application which uses CUDA soon to verify everything is in working order. Unenviable does seem like an appropriate word, digging into all this really made me appreciate how much work goes into making any of this possible. Pointing folks like myself on older/unsupported hardware towards cuda-legacy (an example in the wiki/manual would be great) seems like a reasonable way to do things.23:52:06
5 Dec 2025
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)

Changes I've been working on:

  • https://github.com/NixOS/nixpkgs/pull/467975
  • https://github.com/NixOS/nixpkgs/pull/467976 (both nvcc.profile and reintroducing multiple outputs for nvcc)
02:05:17
@justbrowsing:matrix.orgKevin Mittman (UTC-7) So CUDA 13.1 released today
https://developer.download.nvidia.com/compute/cuda/redist/redistrib_13.1.0.json
03:34:00
@justbrowsing:matrix.orgKevin Mittman (UTC-7) Now includes a binary archive tarball for cuda_compat (not for Jetson Orin) "forward compatibility" 03:36:07

There are no newer messages yet.


Back to Room ListRoom Version: 9