!eWOErHSaiddIbsUNsJ:nixos.org

NixOS CUDA

286 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
19 Feb 2025
@ss:someonex.netSomeoneSerge (back on matrix)

Let's start with some high-level questions before delving into the code?

setup hooks for the package set (this includes wrapping NVCC such that we get rid of backendStdenv)

Removing backendStdenv for wrappers implies we commit t hey o support mixed stdenvs. This might not even be supported by upstream projects (llvm, gcc), and you've already discovered the incompatibility for LTO. I'm thinking if there are any downsides to introducing the wrapper code and still using the wrapper with the single (no mixing) stdenv in Nixpkgs. That way out-of-tree derivations already can (ab)use the wrapper without knowing it exists and without knowing they actually need to replace the stdenv

introduction of rewritten modules, top-level/cuda-packages.nix, and the remainder of the changes

What's the gist of the rewrite?

09:52:44
@ss:someonex.netSomeoneSerge (back on matrix) Something like, an individual buys a piece of equipment and gets a reimbursement from the opencollective fund? Totally fine by me, the question is, is this transparent enough for users and sponsors. In addition to off-boarding issues, we should sooner or later figure out transparency of physical access to the infra (for all you know I'm a Russian sleeper agent) 10:01:21
@ss:someonex.netSomeoneSerge (back on matrix) * Something like, an individual buys a piece of equipment and gets a reimbursement from the opencollective fund? Totally fine by me (EDIT: except we can't write VAT off?), the question is, is this transparent enough for users and sponsors. In addition to off-boarding issues, we should sooner or later figure out transparency of physical access to the infra (for all you know I'm a Russian sleeper agent) 10:02:23
@zimbatm:numtide.comJonas ChevalierWe can maintain a page like OpenWRT does, with who owns what machine: https://openwrt.org/infrastructure#servers10:55:50
20 Feb 2025
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)I’ll get on a gist of a rewrite, as well as design tradeoffs in offering a wrapped cuda_nvcc, cudaStdenv, or changing the global stdenv when cudaSupport is enabled (to provide both LTO and to prevent any possibilities of linking against multiple copies of glibc/glibcxx)06:31:21
21 Feb 2025
@tillerino:matrix.org@tillerino:matrix.org joined the room.17:14:13
23 Feb 2025
@angleangleside:matrix.orgasa joined the room.09:07:57
25 Feb 2025
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)
In reply to @connorbaker:matrix.org
I’ll get on a gist of a rewrite, as well as design tradeoffs in offering a wrapped cuda_nvcc, cudaStdenv, or changing the global stdenv when cudaSupport is enabled (to provide both LTO and to prevent any possibilities of linking against multiple copies of glibc/glibcxx)
I am still doing this, among other things
00:09:17
26 Feb 2025
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)Anyone free to review https://github.com/NixOS/nixpkgs/pull/383214 and https://github.com/NixOS/nixpkgs/pull/383511?15:34:10
@ss:someonex.netSomeoneSerge (back on matrix)In my backlog but might take me until the end of the week. I wish I could switch earlier15:54:52
@hexa:lossy.networkhexawondering if anyone here cares about onnxruntime a bit17:52:35
@hexa:lossy.networkhexaenabling openvino support breaks the tests for some reason, since it cannot find libonnxruntime_providers_shared.so in $out/lib/17:52:55
@hexa:lossy.networkhexa * enabling openvino support breaks the tests for some reason, since it cannot find libonnxruntime_providers_shared.so in $out/lib/ 17:53:06
@hexa:lossy.networkhexa * enabling openvino support breaks the tests for some reason, since it cannot find libonnxruntime_providers_shared.so in $out/lib/ 17:53:11
@hexa:lossy.networkhexaso I added a condition to disable the tests with openvinoSupport17:53:39
@hexa:lossy.networkhexa
>>> rt.get_available_providers()
['OpenVINOExecutionProvider', 'CPUExecutionProvider']
17:53:42
@hexa:lossy.networkhexa* so I added a condition to disable the tests with openvinoSupport, which gets me to here:17:53:54
@hexa:lossy.networkhexanow I wonder if enabling openvino by default is a good idea, when it requires disabling the tests17:54:14
@hexa:lossy.networkhexathe alternative would be that I enabled openvino support just in the downstream package that wants it17:58:20
@hexa:lossy.networkhexa* the alternative would be that I enable openvino support just in the downstream package that wants it17:58:26
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)I haven’t found a use for it yet for the stuff I’d work on if I had time, so my only interaction with the ONNX ecosystem has been packaging it with CUDA support, and that’s been horrible… so I’m not inclined to look into it beyond what I absolutely must19:38:57
27 Feb 2025
@mac:private.coffeemac joined the room.02:57:20
28 Feb 2025
@hexa:lossy.networkhexa SomeoneSerge (UTC+U[-12,12]): in opencv, why cxxdev and not dev as the output name? 05:57:42
@hexa:lossy.networkhexaand what does that mean for buildInputs?05:58:37
@hexa:lossy.networkhexaoh, opencv has no dev output05:59:19
@hexa:lossy.networkhexaand openvino has been using the wrong output all along05:59:33
@hexa:lossy.networkhexa🤦‍♂️05:59:36
@hexa:lossy.networkhexacouldn't the effectiveStdenv pattern be reduced to06:19:53
@hexa:lossy.networkhexa
+, stdenv ? if cudaSupport then cudaPackages.backendStdenv else stdenv
06:19:56
@hexa:lossy.networkhexa *
, stdenv ? if cudaSupport then cudaPackages.backendStdenv else stdenv
06:20:01

Show newer messages


Back to Room ListRoom Version: 9