You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
is there a solution to make all gpu deveices visible for a pod which not requests nvidia.com/gpu #239
when I use NVIDIA/k8s-device-plugin in my k8s cluster
I set NVIDIA_VISIBLE_DEVICES=all in pod spec
apiVersion: v1
kind: Pod
metadata:
name: test
containers:
- args:
- -c
- top -b
command:
- /bin/sh
env:
- name: NVIDIA_VISIBLE_DEVICES
value: all
image: cuda:10.2-cudnn7-devel-ubuntu18.04
name: test
resources:
limits:
cpu: 150m
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
the devices.list under /sys/fs/cgroup/devices/kubepods/burstable/podxxxxxx/xxxxxx/devices.list has all gpu deveice on this node
I noticed that this GCE container-engine-accelerators doesn’t require using nvidia-docker. so NVIDIA_VISIBLE_DEVICES may doesn't work.
thus, is there a solution to make all gpu deveices visible for a pod which not requests nvidia.com/gpu ?
You can set nvidia.com/gpu value to 0 and still workload will be able to see all the GPUs available on the instance. It will also not block the GPU on kubernetes to more workloads can be scheduled on that node.
resources:
limits:
nvidia.com/gpu: 0 # This will work fine and will not block your GPU for other workloads.
Activity
DavraYoung commentedon Apr 14, 2023
Check how gke time slicing works. I was able to achieve sharing single gpu on multiple workload.
Here is my terraform:
VelorumS commentedon Oct 5, 2023
@DavraYoung but how to do it without time-sharing or multi-instance GPUs?
We were able to have all GPUs visible to all Docker containers running on the instance.
And it seems that in k8s the
nvidia.com/gpu: 0worked: http://www.bytefold.com/sharing-gpu-in-kubernetes/