!eWOErHSaiddIbsUNsJ:nixos.org

NixOS CUDA

290 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
7 May 2025
@ss:someonex.netSomeoneSerge (back on matrix) Well here overrides.nix are already called with a valid prev 23:20:01
@connorbaker:matrix.orgconnor (he/him)OH23:20:12
@connorbaker:matrix.orgconnor (he/him)Ah okay I see what you mean23:20:17
@ss:someonex.netSomeoneSerge (back on matrix) But it's a good point that previously cuda's overrides.nix was used both for overrides and for new definitions 23:21:31
@ss:someonex.netSomeoneSerge (back on matrix) I guess now these all can go to fixups/ and packages/ resp. 23:21:46
@connorbaker:matrix.orgconnor (he/him) In the cuda-packages rework, packages exists for things which must be built explicitly because they're not from a manifest (e.g., nccl and cudnn-frontend) -- all the packages which come from manifest files are added implicitly by way of traversing the manifest and transforming it into packages. 23:25:37
@ss:someonex.netSomeoneSerge (back on matrix)Sure, and "must be built explicitly" = "new definitions"?23:26:18
@connorbaker:matrix.orgconnor (he/him)At the least, I'd say "not in a manifest" -> "must be built explicitly" Does "new definitions" mean things added by an extension, or something else23:27:46
@ss:someonex.netSomeoneSerge (back on matrix)Well in the context of what used to be something-like-an-overlay23:30:41
@justbrowsing:matrix.orgKevin Mittman (UTC-8)CMake and Nix are good friends or no?23:30:49
@ss:someonex.netSomeoneSerge (back on matrix)Besties23:31:01
@ss:someonex.netSomeoneSerge (back on matrix) But sometimes they feel the need for dramaclean separation of binaries for different platforms and they hurt each other 23:31:50
@connorbaker:matrix.orgconnor (he/him) CMake? Sure... mostly. rapids-cmake (https://github.com/rapidsai/rapids-cmake)? Absolutely not :( 23:35:37
@rosscomputerguy:matrix.orgTristan Ross CMake isn't my friend 23:38:24
@connorbaker:matrix.orgconnor (he/him) Alrighty, so I'm changing overrides back to fixups (and making a note about how there's no "fixup" for versioned packages since they only apply to the base package, by pname) and floating the imports in pkgs/top-level/cuda-packages.nix back down and inline 23:38:42
@connorbaker:matrix.orgconnor (he/him) Does that sound right SomeoneSerge (UTC+U[-12,12])? 23:38:51
@ss:someonex.netSomeoneSerge (back on matrix)That's what I had in mind too23:44:34
8 May 2025
@connorbaker:matrix.orgconnor (he/him)Alrighty, should be good once CI passes00:04:29
@connorbaker:matrix.orgconnor (he/him)PyTorch still built, so that's good00:04:37
@ss:someonex.netSomeoneSerge (back on matrix)

RE: Why

How do we know if we can assume that (pname, version, platform) always corresponds to a unique hash, e.g. that nvidia never publishes two different things under the same (versioned) name? (treating sbsa and jetson as different platforms)

Well so far I haven't found any exceptions: A v. B

02:32:49
@ss:someonex.netSomeoneSerge (back on matrix)(didn't load all manifests yet tho)02:33:21
@connorbaker:matrix.orgconnor (he/him)

Fair question; I don’t think we do.

Is there a concern you had in mind?

For what it’s worth, I’ve seen them use the “source” and “linux-all” platform (meta-platform?) to indicate a package works on multiple platforms rather than having an entry for each (all with the same hash). In the rework I give those preferential treatment since they’re agnostic and don’t seem to occur alongside other variants of the package: https://github.com/ConnorBaker/cuda-packages/blob/7731ebdf397c5ce123571abf2dc41ebac86237d3/pkgs/development/cuda-modules/packages/redist-builder/package.nix#L102

04:54:54
@connorbaker:matrix.orgconnor (he/him) Okay bed time for me.
Tomorrow will include work on introducing the setup hook changes
04:59:20
@connorbaker:matrix.orgconnor (he/him)Thank you for the fixes Serge!16:07:04
@ss:someonex.netSomeoneSerge (back on matrix)Sure, thank you!17:10:55
@ss:someonex.netSomeoneSerge (back on matrix)I avoided force-pushes. Do you think we should squash?17:11:27
@justbrowsing:matrix.orgKevin Mittman (UTC-8)
In reply to @ss:someonex.net

RE: Why

How do we know if we can assume that (pname, version, platform) always corresponds to a unique hash, e.g. that nvidia never publishes two different things under the same (versioned) name? (treating sbsa and jetson as different platforms)

Well so far I haven't found any exceptions: A v. B

There is a policy of version uniqueness. Unfortunately, enforcement is limited
18:26:54
@justbrowsing:matrix.orgKevin Mittman (UTC-8)
In reply to @connorbaker:matrix.org

Fair question; I don’t think we do.

Is there a concern you had in mind?

For what it’s worth, I’ve seen them use the “source” and “linux-all” platform (meta-platform?) to indicate a package works on multiple platforms rather than having an entry for each (all with the same hash). In the rework I give those preferential treatment since they’re agnostic and don’t seem to occur alongside other variants of the package: https://github.com/ConnorBaker/cuda-packages/blob/7731ebdf397c5ce123571abf2dc41ebac86237d3/pkgs/development/cuda-modules/packages/redist-builder/package.nix#L102

driver_assistant is a pure Python script, hence linux-all. and cudnn_samples is source code, that would ideally be posted on Github
18:31:25
@ss:someonex.netSomeoneSerge (back on matrix)Well I want functionality for "merging" a set of manifests, rather than having single cuda manifest first spawn a package set, which is then extended with other components like cudnn. I think that suggests a merged domain of "package( recipe)s" which the future package set can grab stuff from. Finally, if things are to share a scope, how do we know they don't compete for the same spot? ^^^18:35:02
@ss:someonex.netSomeoneSerge (back on matrix)Yeah as long as we ensure observability on our side I'm fine making this an assumption18:37:23

Show newer messages


Back to Room ListRoom Version: 9