!eWOErHSaiddIbsUNsJ:nixos.org

NixOS CUDA

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

You have reached the beginning of time (for this room).


SenderMessageTime
19 Oct 2024
@glepage:matrix.orgGaétan LepageI am not sure to be qualified to answer properly. From my point of view, these kind of automations indeed help and avoid sneaky mistakes.19:24:29
@hexa:lossy.networkhexa (UTC+1) hacker1024: I think your recommendation was spot on 21:27:27
@hexa:lossy.networkhexa (UTC+1)at 22% I see the first [pt_main_thread] instances21:27:36
@hexa:lossy.networkhexa (UTC+1)and they don't seem to crash with microcode updates applied21:27:50
@hexa:lossy.networkhexa (UTC+1)wow, I hope that makes python-updates much smoother in the future21:28:06
@ss:someonex.netSomeoneSerge (matrix works sometimes)

a footgun people keep firing,

True

autoAddDriverRunpath

Yes and no. Yes because that'd definitely make one-off and our own contributions easier. No because once we start propagating it we lose the knowledge of which packages actually need to be patched. It still seems to me that most packages we don't have to patch because they call cudart and cudart is patchelfed. Maybe yes because I'm unsure what happens with libcudart_static.

autoPatchelfHook

I'd be rather strongly opposed to this one. Autopatchelf is a huge hammer, coarse and imprecise. It can actually erase correct runpaths from an originally correct binary. Let's reserve it for non

Another important thing to consider is (here we go again) whether we want to keep both backendStdenv and the hook and which of these things should be propagating what

21:29:49
@ss:someonex.netSomeoneSerge (matrix works sometimes)Even right now there's something cursed going on that e.g. triggers a "rebuild" of libcublas when you override nvcc, and I think that happens because of the propagated hook. That at the least is a surprising behaviour21:32:25
@ss:someonex.netSomeoneSerge (matrix works sometimes)Another "no" for autoAddDriverRunpath is that it's also just not enough anyway, because of python and all other sorts of projects where we're forced to use wrappers instead21:38:08
@ss:someonex.netSomeoneSerge (matrix works sometimes) I think I'd vote pro propagation if we could say with some certainty, that that is the only way to make stuff work automatically for users of libcudart_static and of cmake's CUDA::cuda_driver (just because supporting that scope sounds doable) 21:41:59
@ss:someonex.netSomeoneSerge (matrix works sometimes) * I think I'd vote pro propagation if we could say with some certainty, that that is the only way to make stuff work automatically/correctly for users of libcudart_static and of cmake's CUDA::cuda_driver (just because supporting that scope sounds doable) 21:42:31
@ss:someonex.netSomeoneSerge (matrix works sometimes) * I think I'd vote pro propagation if we could say with some certainty, that that is the only way to guarantee correctness for users of libcudart_static and of cmake's CUDA::cuda_driver (just because supporting that scope sounds doable) 21:42:47
@ss:someonex.netSomeoneSerge (matrix works sometimes) hexa (UTC+1): I've been playing with (s)ccache lately and I'm almost amazed we're not using it more widely when building derivations for tests rather for direct consumption 21:45:20
@ss:someonex.netSomeoneSerge (matrix works sometimes) * hexa (UTC+1): I've been playing with (s)ccache lately and I'm almost amazed we're not using it more widely when building derivations for tests rather than for direct consumption 21:45:32
@ss:someonex.netSomeoneSerge (matrix works sometimes)

not using it more widely

Which I'm guessing based on the fact that the infrastructure for this is rather lacking

21:46:18
@hexa:lossy.networkhexa (UTC+1)where would results be stored?21:46:47
@hexa:lossy.networkhexa (UTC+1)caching of intermediate build steps would also be super helpful 😭21:48:49
@ss:someonex.netSomeoneSerge (matrix works sometimes)Same as usual, derivation outputs would be stored in the nix store, they'd never be confused with the "pure" ones because they'd have different hashes. The (s)ccache directory would have to be set up on each builder21:48:52

Show newer messages


Back to Room ListRoom Version: 9