Skip to content

contrib/nvidia: support passing "--no-cgroups" to nvidia-container-cli #5603

@AkihiroSuda

Description

@AkihiroSuda

contrib/nvidia should support passing "--no-cgroups" to nvidia-container-cli.

Required for nerdctl run --gpus on rootless (on cgroup v1, at least).

Discussion in containerd/nerdctl#251

Did you try rootless (on cgroup v1)?

I guess it needs setting no-cgroups = true
moby/moby#38729 (comment)

Originally posted by @AkihiroSuda in containerd/nerdctl#251 (comment)


It doesn't work as of now.

We might need to patch github.com/containerd/containerd/contrib/nvidia for allowing to pass --no-cgroup option to nvidia-container-cli.

Containerd doesn't use nvidia-container-runtime (instead, it executes nvidia-container-cli directly) so we cannot use /etc/nvidia-container-runtime/config.toml for nerdctl.

Originally posted by @ktock in containerd/nerdctl#251 (comment)


A very hacky workaround for this is to wrap nvidia-container-cli to forcefully specify --no-cgroups.

mkdir -p /opt/nvidia/bin
mv /usr/bin/nvidia-container-cli /opt/nvidia/bin/
cat <<'EOF' > /usr/bin/nvidia-container-cli
#!/bin/bash
/opt/nvidia/bin/nvidia-container-cli ${@:1:($#-1)} --no-cgroups ${@:$#}
EOF

Originally posted by @ktock in containerd/nerdctl#251 (comment)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions