[OMEGA-407] Enable GPU passthrough support in Omega Docker image - #343
Open
paul-v-snet wants to merge 3 commits into
Open
[OMEGA-407] Enable GPU passthrough support in Omega Docker image#343paul-v-snet wants to merge 3 commits into
paul-v-snet wants to merge 3 commits into
Conversation
paul-v-snet
marked this pull request as ready for review
September 7, 2026 09:33
paul-v-snet
requested review from
jazzbox35 and
vsbogd
and removed request for
jazzbox35
September 7, 2026 09:34
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The reason the agent cannot access the GPU is that the Landlock filesystem policy does not include the required NVIDIA driver and device paths. As a result, the main agent process cannot access the GPU, and its child processes cannot access it either because they inherit the same Landlock restrictions.
To fix the issue, it is sufficient to add the required paths to
policy.yamland implement a mechanism for adding them dynamically. The set of required paths may differ depending on the system and configuration. At the same time, if a path specified in the policy does not exist on the current system, Landlock cannot apply the policy and returns an error.Therefore, all potentially required NVIDIA paths were added to
policy.yaml, but before applying the policy, theapplymethod collects only the NVIDIA driver and device paths that actually exist on the current system and applies the policy using that set.This should support different GPU configurations, including multiple GPUs exposed to the Docker container, as well as different environments such as native Linux and WSL.
How Has This Been Tested?
--device nvidia.com/gpu=allpassed to the container. Before the fix, the agent's ownnvidia-smi -Lshell call returnedFailed to initialize NVML: N/A, while a plaindocker exec ... nvidia-smi -Lon the same running container detected the GPU correctly.nvidia-smi -Linvoked by the agent from inside the container worked correctly, the agent gained access to the GPUs and was able to use them successfully.Checklist