I’m trying to run a service based on CUDA with balenaOS (on a Generic x86_64 device), but I’m running into some issues. Based on this blog I see that there is a scheduled feature for allowing “hostapp extensions” for layering additional software, like NVIDIA drivers, on top of the balenaOS host OS. Based on this comment from @alexgg it seems that the balena team is still actively working on this and that there is no release date planned yet.
-
From my understanding I would need to add hostapp extensions at least for the NVIDIA driver and the NVIDIA Container Toolkit. This should allow me to pass through my GPU devices to my services. I am unsure if I need a CUDA hostapp extension as well, or if it is sufficient to install CUDA within the service itself. Is my understanding of hostapp extensions correct here?
-
Is this already possible? Even if it is using a beta or experimental version of balenaOS, I would love to give this a shot.
-
If this is not possible (yet), is there a known workaround to get CUDA services to work (on Generic x86_64 devices) on balenaOS?
-
With
qemuI can passthrough the GPU to the virtual machine using IOMMU, allowing for raw access but prohibiting access to the GPU from the host OS. It would mean limiting to only a single service, since it will “own” that GPU, but it will work for my case. I found it difficult to find resources online for something like this. Is such a thing possible with Docker (and therefore balenaOS)?
