| 7 May 2025 |
SomeoneSerge (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 |
SomeoneSerge (back on matrix) | I think I convinced myself that overrides.nix neither are "overrides" nor consist of "overrides" | 23:17:51 |
SomeoneSerge (back on matrix) | So maybe we keep your name and call it a day | 23:18:03 |
connor (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 |
SomeoneSerge (back on matrix) | Well here overrides.nix are already called with a valid prev | 23:20:01 |
connor (burnt/out) (UTC-8) | OH | 23:20:12 |
connor (burnt/out) (UTC-8) | Ah okay I see what you mean | 23:20:17 |
SomeoneSerge (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 |
SomeoneSerge (back on matrix) | I guess now these all can go to fixups/ and packages/ resp. | 23:21:46 |
connor (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 |
SomeoneSerge (back on matrix) | Sure, and "must be built explicitly" = "new definitions"? | 23:26:18 |
connor (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 else | 23:27:46 |
SomeoneSerge (back on matrix) | Well in the context of what used to be something-like-an-overlay | 23:30:41 |
Kevin Mittman (EOY sleep) | CMake and Nix are good friends or no? | 23:30:49 |
SomeoneSerge (back on matrix) | Besties | 23:31:01 |
SomeoneSerge (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 |
connor (burnt/out) (UTC-8) | CMake? Sure... mostly. rapids-cmake (https://github.com/rapidsai/rapids-cmake)? Absolutely not :( | 23:35:37 |
Tristan Ross | CMake isn't my friend | 23:38:24 |
connor (burnt/out) (UTC-8) | 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 |
connor (burnt/out) (UTC-8) | Does that sound right SomeoneSerge (UTC+U[-12,12])? | 23:38:51 |
SomeoneSerge (back on matrix) | That's what I had in mind too | 23:44:34 |
| 8 May 2025 |
connor (burnt/out) (UTC-8) | Alrighty, should be good once CI passes | 00:04:29 |
connor (burnt/out) (UTC-8) | PyTorch still built, so that's good | 00:04:37 |
SomeoneSerge (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 |
SomeoneSerge (back on matrix) | (didn't load all manifests yet tho) | 02:33:21 |
connor (burnt/out) (UTC-8) | 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 |
connor (burnt/out) (UTC-8) | Okay bed time for me.
Tomorrow will include work on introducing the setup hook changes | 04:59:20 |
connor (burnt/out) (UTC-8) | Thank you for the fixes Serge! | 16:07:04 |
SomeoneSerge (back on matrix) | Sure, thank you! | 17:10:55 |
SomeoneSerge (back on matrix) | I avoided force-pushes. Do you think we should squash? | 17:11:27 |