!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/#cuda58 Servers

Load older messages


SenderMessageTime
7 May 2025
@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 (burnt/out) (UTC-8) 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 (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
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8) 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 (burnt/out) (UTC-8)Alrighty, should be good once CI passes00:04:29
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)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 (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
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8) Okay bed time for me.
Tomorrow will include work on introducing the setup hook changes
04:59:20
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)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
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)Up to you!19:30:27
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8) Merging in what sense?
As an example, in cuda-packages I traverse the collection of manifests provided for to an instance of a CUDA package set, creating a arguments to be fed to redist-builder: https://github.com/ConnorBaker/cuda-packages/blob/62a4c5b58eed0038d73ac2b5e6bc151d851c0f81/pkgs/development/cuda-modules/default.nix#L73-L91
19:35:23
@justbrowsing:matrix.orgKevin Mittman (UTC-8)I can imagine it would be useful to have a list of all cuda12 compatible CUDA-X binary archives22:24:06
@ss:someonex.netSomeoneSerge (back on matrix)Merging as in merging manifests into a single manifest, single hierarchy, as opposed to constructing a set of packages from a sequence of overlays22:51:35
@ss:someonex.netSomeoneSerge (back on matrix) In particular, I'd prefer there be a single set of "archive"s, all of the same shape, and each have a unique key. E.g. it could be a tree where archives.${pname}.${platform}.${version}.${compatTag} (the tags are for cudnn...) is { relative_path: String, sha256: String, md5: Option<String> }, etc. Note no ${manifest_name} in there. 22:57:56
@ss:someonex.netSomeoneSerge (back on matrix)So we found a trivial violation:)22:58:50
@ss:someonex.netSomeoneSerge (back on matrix)There's also no reason we should assume there's ever at most one compatibility tag...22:59:39
9 May 2025
@justbrowsing:matrix.orgKevin Mittman (UTC-8) could you provide a pseudo-code form of what you are asking for? 00:50:30
@justbrowsing:matrix.orgKevin Mittman (UTC-8)specifically trying to ask if there would be one or multiple versions of each component to satisfy the dependency closure?00:58:31
@gdesforges:matrix.orgGuillaume DesforgesHey! Has anyone tried to package torchcodec? https://github.com/pytorch/torchcodec17:07:26
@gdesforges:matrix.orgGuillaume Desforges* Hey! Has anyone tried to package torchcodec? https://github.com/pytorch/torchcodec (sorry if that's the wrong channel)17:22:33

Show newer messages


Back to Room ListRoom Version: 9