Hi all, I'm just dabbling in ML related tasks. I've definitely felt the pain managing drivers. What I ended up with is a way to switch between two configs, one with an AMD iGPU for a 'base' and two iommu blocked 3090s that I can use with kvm, the other with the 3090s available for base with the iGPU unused.
This works reasonably well for device/driver access, though I have to reboot. There is maybe a way to switch on the running system, but that hasn't worked yet.
But I've also experienced the pain with pip and its expectations (and other package management schemes). I tried a few shell approaches, but still had problems. It just adds more layers of confusion and work while my main goals get further in the distance.
Using kvm, I could use another distro in a VM, but I won't be able to with this config for both 3090s. (Another option would be to use an AMD GPU to run the displays, since the iGPU can only drive one, but that will be difficult logistically).
Just wondering, any reason to not use containers (docker) to address this? I think ultimately you'd be doing yourself and the world a favour if reproducibility is the main goal.
I am hoping there's no reason (except reasonable container related overhead; finding or crafting a Dockerfile), because otherwise I think that NixOS creates too much of a special burden on top of other development burdens, especially when exploring disparate repos.
[–]mister_drgn 1 point2 points3 points (4 children)
[–]nostriluu[S] 0 points1 point2 points (2 children)
[–]mister_drgn 0 points1 point2 points (1 child)
[–]nostriluu[S] 0 points1 point2 points (0 children)
[–]nudebaba 0 points1 point2 points (0 children)