volcano-sh/devices

Device plugins for Volcano, e.g. GPU

Hosted by Cloud Native Computing Foundation · part of Linux Foundation

View on GitHub ↗Jump to charts ↓Open shareable report →

volcano-sh/devices has 100+ stars and 40+ forks on GitHub, is written in Go, and was last pushed on Mar 20, 2025. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 17 minutes ago
Added to GitGenius on October 15th, 2026
Created on March 15th, 2020
Open Issues & Pull Requests: 28 (+0)
GitHub issues: Enabled
Number of forks: 49
Total Stargazers: 137 (+0)
Total Subscribers: 13 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 17.8 hours
Mean response time: 77.8 days
90th percentile: 206.2 days
Tracked items: 10

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 9
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 895 days
Stale 30+ days: 9
Stale 90+ days: 9

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug/import-soon (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Volcano device plugin is a Kubernetes device plugin that enables GPU resource management and sharing in clusters running Volcano scheduler.

The tool solves the problem of efficiently allocating and sharing GPU resources across multiple containers in Kubernetes. It works as a Daemonset that exposes the number of GPUs available on each node, monitors GPU health, and enables containers to request GPU resources. The plugin supports two modes of GPU allocation: GPU sharing through soft isolation at the container level using the volcano.sh/gpu-memory resource name, and GPU number allocation for workloads that need discrete GPU counts. This approach builds on the Kubernetes device plugin specification and integrates with Volcano's scheduling capabilities to enable GPU sharing that would not be possible with standard Kubernetes alone.

Teams should adopt this tool if they run Volcano scheduler and need to share GPUs across multiple workloads on the same node, or if they want fine-grained control over GPU allocation strategies. It suits clusters where maximizing GPU utilization through sharing is a priority. The plugin requires NVIDIA drivers, nvidia-docker, and Kubernetes 1.10 or later, with docker configured to use the nvidia runtime by default. It can be configured with different GPU strategies through command-line arguments, allowing operators to choose allocation policies that match their workload patterns.

The project maintains active development with regular updates to its configuration and documentation. The codebase shows ongoing refinement of GPU sharing mechanisms and strategy options. The tool includes comprehensive documentation covering prerequisites, deployment, and configuration options for different use cases.