NVIDIA / k8s-device-plugin

NVIDIA device plugin for Kubernetes
Apache License 2.0
2.87k stars 635 forks source link

Previous issue - #297, Is plugin ready for jetson nano devices #334

Closed ravinayag closed 10 months ago

ravinayag commented 2 years ago

The template below is mostly useful for bug reports and support questions. Feel free to remove anything which doesn't apply to you and add more information where it makes sense.

1. Issue or feature description

Im using Jetson Nano, K3s v23 + Containerd v1.5 , Jetsonpack 4.6

1, K8s-device-plugin only applicable with Docker Deployment. ? 2, Is plugin ready for jetson nano devices using K3s ?

elezar commented 2 years ago

The device plugin can be used with docker, containerd, or cri-o as long as these container engines are configured accordingly.

Support for jetson nano devices is in progress and should be included as part as the next release.

ByerRA commented 2 years ago

Any timeline on when the "next" release with jetson nano support will come out? I'm currently in a "holding" pattern on a project because of this issue.

elezar commented 2 years ago

@ByerRA we should release a release candidate in the next two weeks for early testing, with the final release following shortly after that.

ravinayag commented 2 years ago

Will, it is possible to run multiple pod/containers on one GPU (tx1)? i .e. i have TensorFlow image = nvcr.io/nvidia/l4t-tensorflow:r32.6.1-tf2.5-py3 and Nginx container Image = docker.io/nginx:latest running in a different pod. How the resources will be shared with each container in % level?

elezar commented 2 years ago

@ByerRA @ravinayag we have recently released v0.13.0-rc.2 of the device plugin that should allow this to be used on Tegra-based systems. Note that in this case a version of the nvidia-container-toolkit of at least 1.11.0 is required.

Feel free to test this and give feedback.

elezar commented 2 years ago

@ravinayag The device plugin already supports GPU sharing using time-slicing and this will also be supported on Tegra-based systems. This does not provide memory division though.

Note that the example that you mention, I would not assume that nginx requires GPU resources and as such it shouldn't use these resources.

ravinayag commented 2 years ago

@elezar , my intention is how can i leverage the GPU resources in replacement of the CPU. The reason I ask here is since i running on a jetson device, can I leverage GPU in replace of CPU to run the services like nginx, docker, nodejs etc... because my CPU utilization becomes 80% most of the time...

elezar commented 2 years ago

@ravinayag the purpose of the device plugin is to make GPUs accessible in containerized applications but it does nothing to make an application use the GPUs. In general this requires specific implementations. I am not aware of GPU-enabled nginx or docker, for example.

elezar commented 10 months ago

I am closing this issue. If there are specific problems running the device plugin on Tegra-based systems, please open a new issue against this repo.