| 7 May 2025 |
SomeoneSerge (back on matrix) | Now I want (aside from the stuff already listed in TODO): snapshots of nixpkgs attribute trees AND snapshots of callable arguments' functionArgs | 20:42:24 |
connor (burnt/out) (UTC-8) | There's a builtin for functionArgs which is probably a little more in-depth than the __functionArgs I used: https://github.com/NixOS/nix/blob/1e822bd4149a8bce1da81ee2ad9404986b07914c/src/libexpr/primops.cc#L3135 | 20:47:12 |
SomeoneSerge (back on matrix) | There's lib.functionArgs too | 20:48:11 |
| kaya 𖤐 changed their profile picture. | 21:21:02 |
| Tristan Ross joined the room. | 21:46:04 |
Tristan Ross | I have joined here because I may do CUDA stuff with my Ampere Altra Max M128-26 and RTX 5070. | 21:46:43 |
hacker1024 | Ooh is that SBSA then? Good luck lol | 21:47:47 |
Tristan Ross | In reply to @hacker1024:matrix.org Ooh is that SBSA then? Good luck lol Yep, SBSA and ACPI | 21:49:07 |
SomeoneSerge (back on matrix) | Isn't this going to be like literally the first time anybody actually uses sbsa version of cuda in Nixpkgs? | 21:49:09 |
Tristan Ross | In reply to @ss:someonex.net Isn't this going to be like literally the first time anybody actually uses sbsa version of cuda in Nixpkgs? Maybe | 21:49:28 |
Tristan Ross | I built a bunch of CUDA stuff that @[connor (he/him) (UTC-7)] has on Saturday | 21:50:07 |
Tristan Ross | There's a lot of things broken lol. | 21:50:17 |
connor (burnt/out) (UTC-8) | FWIW, I was able to build and train an MLP mixer model this weekend on a GH200 through Lambda Labs using my repo, so proper support is at least in progress lol | 22:04:12 |
SomeoneSerge (back on matrix) | Oh riiight we had multiple cudnns in each package sets and applying fixups to all of them 😅 | 22:25:08 |
connor (burnt/out) (UTC-8) | Oh god right | 22:32:51 |
SomeoneSerge (back on matrix) | Couple days to the feature freeze, perfect time to remove some public attributes | 22:33:42 |
connor (burnt/out) (UTC-8) | Welp, time to figure out how I managed to break the multiplexing builder | 22:34:16 |
connor (burnt/out) (UTC-8) | derp | 22:40:42 |
connor (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 |
connor (burnt/out) (UTC-8) | SomeoneSerge (UTC+U[-12,12]): you okay with me merging https://github.com/NixOS/nixpkgs/pull/405031? | 22:51:56 |
SomeoneSerge (back on matrix) | Si por favor | 22:57:06 |
SomeoneSerge (back on matrix) | connor (he/him) (UTC-7): do you think we're creating more confusion by renaming fixups? | 23:04:29 |
connor (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 |
connor (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 |
connor (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 |
SomeoneSerge (back on matrix) | Well that's exactly how lua and node "overrides" are used | 23:10:03 |
SomeoneSerge (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 |
SomeoneSerge (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 |
connor (burnt/out) (UTC-8) | Ah yeah, they are typically overlays, and I agree that overlay is synonymous with extension | 23:15:25 |
SomeoneSerge (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 |