!eWOErHSaiddIbsUNsJ:nixos.org

NixOS CUDA

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

Load older messages


SenderMessageTime
7 May 2025
@ss:someonex.netSomeoneSerge (back on matrix) Oh riiight we had multiple cudnns in each package sets and applying fixups to all of them 😅 22:25:08
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)Oh god right22:32:51
@ss:someonex.netSomeoneSerge (back on matrix)Couple days to the feature freeze, perfect time to remove some public attributes22:33:42
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)Welp, time to figure out how I managed to break the multiplexing builder22:34:16
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)derp22:40:42
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)
diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix
index fc4beb3cea0d..a4a8086c7bf1 100644
--- a/pkgs/top-level/cuda-packages.nix
+++ b/pkgs/top-level/cuda-packages.nix
@@ -40,7 +40,7 @@ let
 
   # Utilities
   mkVersionedPackageName =
-    name: version: "name_${lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version)}";
+    name: version: name + "_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version);
 in
 {
   config,
22:40:45
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8) SomeoneSerge (UTC+U[-12,12]): you okay with me merging https://github.com/NixOS/nixpkgs/pull/405031? 22:51:56
@ss:someonex.netSomeoneSerge (back on matrix)Si por favor22:57:06
@ss:someonex.netSomeoneSerge (back on matrix) connor (he/him) (UTC-7): do you think we're creating more confusion by renaming fixups? 23:04:29
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)I like(d) the name fixups because it's distinct from "override" (and all the connotations that carries); I wanted something that gets at the fact the generic builder will get you most of the way to a working package, and that these functions provide the fixes required to go all the way.23:07:09
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8) Since callPackage is the thing adding .override, I also wanted to steer clear of calling them that because they're supplied to .overrideAttrs and not .override. 23:07:59
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)It does seem that the current practice in tree is to call them overrides; honestly I'm not sure that anyone is really digging into the CUDA packaging outside of a few people in this room ;)23:08:39
@ss:someonex.netSomeoneSerge (back on matrix)Well that's exactly how lua and node "overrides" are used23:10:03
@ss:someonex.netSomeoneSerge (back on matrix) But the ordering (potential lack of commutativity) issues and the fact they are matched on pname rather than on attribute name has me hesitating 23:11:01
@ss:someonex.netSomeoneSerge (back on matrix) Another note: node-packages/overrides.nix uses .override all over, whereas lua-modules/overrides.nix makes a mixed usage of .overrideAttrs and .override. Moreover, if I were to type the content of such an overrides.nix file, I'd say that it evaluates into an "overlay", which I'd say is another word for "extension" in the sense of composeMultipleExtensions 23:13:23
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)Ah yeah, they are typically overlays, and I agree that overlay is synonymous with extension23:15:25
@ss:someonex.netSomeoneSerge (back on matrix) Do "overlays"/"extensions" consist of "overrides"? Well not quite, because we cannot easily take an overlay: Overlay and extract an o: Override that can be applied to a particular package: p.override o. 23:16:16
@ss:someonex.netSomeoneSerge (back on matrix) If you know in advance all of the names you need to put in prev for the overlay not to throw exception, you could in principle extract them, but that's kind of stretched 23:17:12
@ss:someonex.netSomeoneSerge (back on matrix) I think I convinced myself that overrides.nix neither are "overrides" nor consist of "overrides" 23:17:51
@ss:someonex.netSomeoneSerge (back on matrix)So maybe we keep your name and call it a day23:18:03
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)isn't that similar to what it does currently here https://github.com/NixOS/nixpkgs/blob/293a5c5051586eb28a7eb42ff2dc4fd9943258ed/pkgs/development/cuda-modules/cuda/overrides.nix#L2-L28?23:18:45
@ss:someonex.netSomeoneSerge (back on matrix) Well here overrides.nix are already called with a valid prev 23:20:01
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)OH23:20:12
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)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 (burnt/out) (UTC-8) 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 (burnt/out) (UTC-8)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

Show newer messages


Back to Room ListRoom Version: 9