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

Load older messages


SenderMessageTime
31 Aug 2022
@tpw_rules:matrix.orgtpw_rulesyeah it does do cuda things21:56:01
@tpw_rules:matrix.orgtpw_rulesand the wheel has all the cuda .so files21:56:24
@hexa:lossy.networkhexaok, great22:03:05
@hexa:lossy.networkhexaso the cuda arch support list remains todo?22:03:33
@tpw_rules:matrix.orgtpw_rulesoh, no, i did check that and it doesn't need to be expanded22:03:56
@tpw_rules:matrix.orgtpw_rulesthere is a new 8.7 architecture but that's only for the nvidia agx embedded aarch64 things which nixpkgs doesn't touch yet22:04:22
@tpw_rules:matrix.orgtpw_rulesfrom my perspective it's ready for merging. samuela says we shouldn't have that cuda packages pin, and it's immaterial now22:05:53
@tpw_rules:matrix.orgtpw_rulesbut i think you rebased when you force pushed so the diff is meaningless to me22:06:07
@hexa:lossy.networkhexayes, rebased onto a recent master 22:06:37
@tpw_rules:matrix.orgtpw_ruleswhat did you change when you force pushed?22:06:50
@hexa:lossy.networkhexahttps://github.com/NixOS/nixpkgs/pull/189013#pullrequestreview-109254370922:07:01
@hexa:lossy.networkhexajust this22:07:04
@tpw_rules:matrix.orgtpw_rulesjust added that line? meh if you added it then whatever. samuela says the "usual practice" is to not have it. but it doesn't actually change anything at this point because we haven't packaged cuda 11.7 yet22:08:01
@hexa:lossy.networkhexaI can drop it, I don't mind22:10:08
@tpw_rules:matrix.orgtpw_rulesok. i'd say drop that line then merge22:10:49
@hexa:lossy.networkhexasgtm22:10:54
@tpw_rules:matrix.orgtpw_rulesdo you always rebase onto master as part of force pushing? your diff ended up with a bunch of random junk in it again22:23:00
@hexa:lossy.networkhexahuh22:48:51
@hexa:lossy.networkhexayeah, mostly.22:49:00
@hexa:lossy.networkhexathe diff should be the same against master22:49:09
@tpw_rules:matrix.orgtpw_ruleswell i mean github's nice "here's what's changed in the force push" button22:50:36
@hexa:lossy.networkhexahuh, ok. Never used that22:51:21
1 Sep 2022
@ss:someonex.netSomeoneSerge (back on matrix)Ah, OK. I think some derivations have already been using that for a while11:19:55
@ss:someonex.netSomeoneSerge (back on matrix)But not e.g. pytorch, I think. They had some custom stuff and one would have to experiment with getting their way around it11:21:18
@ss:someonex.netSomeoneSerge (back on matrix)I'll update the scripts for nixpkgs-unfree cachix11:26:15
@ss:someonex.netSomeoneSerge (back on matrix)🤔 did it even have to be cu113?11:26:48
@ss:someonex.netSomeoneSerge (back on matrix)

RE: CUDA Arch List

  • Early on, there has been a talk of maybe making a global config.cudaArchList attribute, analogous to config.cudaSupport that all packages would inherit from. This is so we could switch all nixpkgs' cuda architectures at once
  • This was before we had cudaPackages_XX package sets and more or less arbitrary
  • Now it might make sense to have global default lists per package sets (they support different ranges of architectures), cudaPackages_XX.cudaArchList. They probably could be implemented as just min/max limits instead
  • When drafting a PR on this, it would be nice to provide functions to convert back and forth between a "default" list format (e.g. cmake's CUDA_ARCHITECTURES) and whatever other formats we frequently deal with

RE: Building for single target/building for widest compatibility

A thought that's been brought up here before, although now I'm skeptical of it, is that rather than building for all architectures at once we could cache many single-target builds. The idea is that when the end-user has to build something extra that hasn't been cached, they'd spend less compute

A counter-point would be that the user can override arch list just for their extra package instead

11:48:58
@tpw_rules:matrix.orgtpw_rulesif we build for all architectures why would the user have to build something extra?15:58:30
@ss:someonex.netSomeoneSerge (back on matrix)Because there will always be some packages we haven't built15:58:51
@ss:someonex.netSomeoneSerge (back on matrix) ...an opencv.override { enableSomething = true; } 15:59:24

Show newer messages


Back to Room ListRoom Version: 9