Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

feat: enable GPU resource overcommit for virtualized GPUs #132045

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
Loading
from

Conversation

Kevinz857
Copy link

Support GPU resource overcommit for virtualized GPUs

What type of PR is this?

/kind feature
/area gpu
/area hw-accelerators
/sig node

What this PR does / why we need it

This PR enables GPU resource overcommit by modifying the IsOvercommitAllowed function to allow nvidia.com/gpu resources to be overcommitted. Currently, GPU resources must have equal requests and limits, which prevents leveraging GPU virtualization technologies like NVIDIA MPS, vGPU, MIG, or device plugins like HAMi that enable sharing a single physical GPU among multiple containers.

With modern GPU virtualization technologies, it's now common to share a single physical GPU among multiple containers, especially for inference workloads. This change makes it possible to overcommit GPU resources similar to how CPU and memory resources can be overcommitted.

Which issue(s) this PR fixes

Fixes #132044 and addresses the long-standing feature request in #52757

Special notes for your reviewer

This is a targeted change that only affects the validation logic for GPU resources, allowing them to be overcommitted while maintaining the existing behavior for other resources. The implementation pattern follows the existing pattern for native resources.

Does this PR introduce a user-facing change?

feature:
  title: GPU Resource Overcommit
  description: >
    Adds support for GPU resource overcommit, allowing GPU limits to be greater
    than requests. This enables better utilization of GPU resources in clusters
    that use GPU virtualization technologies.

  availability:
  - alpha: v1.33

Modify IsOvercommitAllowed function to enable overcommitting NVIDIA GPU
resources by allowing limits to exceed requests. This enables better
utilization of GPU resources in clusters that use virtualization
technologies like MPS, vGPU, MIG, or custom device plugins.

Fixes kubernetes#132044
Addresses kubernetes#52757
@k8s-ci-robot
Copy link
Contributor

Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label May 31, 2025
@k8s-ci-robot
Copy link
Contributor

Keywords which can automatically close issues and at(@) or hashtag(#) mentions are not allowed in commit messages.

The list of commits with invalid commit messages:

  • 31692a4 feat: enable GPU resource overcommit for virtualized GPUs

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. area/hw-accelerators labels May 31, 2025
@k8s-ci-robot
Copy link
Contributor

@Kevinz857: The label(s) area/gpu cannot be applied, because the repository doesn't have them.

In response to this:

Support GPU resource overcommit for virtualized GPUs

What type of PR is this?

/kind feature
/area gpu
/area hw-accelerators
/sig node

What this PR does / why we need it

This PR enables GPU resource overcommit by modifying the IsOvercommitAllowed function to allow nvidia.com/gpu resources to be overcommitted. Currently, GPU resources must have equal requests and limits, which prevents leveraging GPU virtualization technologies like NVIDIA MPS, vGPU, MIG, or device plugins like HAMi that enable sharing a single physical GPU among multiple containers.

With modern GPU virtualization technologies, it's now common to share a single physical GPU among multiple containers, especially for inference workloads. This change makes it possible to overcommit GPU resources similar to how CPU and memory resources can be overcommitted.

Which issue(s) this PR fixes

Fixes #132044 and addresses the long-standing feature request in #52757

Special notes for your reviewer

This is a targeted change that only affects the validation logic for GPU resources, allowing them to be overcommitted while maintaining the existing behavior for other resources. The implementation pattern follows the existing pattern for native resources.

Does this PR introduce a user-facing change?

feature:
 title: GPU Resource Overcommit
 description: >
   Adds support for GPU resource overcommit, allowing GPU limits to be greater
   than requests. This enables better utilization of GPU resources in clusters
   that use GPU virtualization technologies.

 availability:
 - alpha: v1.33

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the sig/node Categorizes an issue or PR as relevant to SIG Node. label May 31, 2025
@k8s-ci-robot k8s-ci-robot added the cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. label May 31, 2025
@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label May 31, 2025
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If a SIG or subproject determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the needs-priority Indicates a PR lacks a `priority/foo` label and requires one. label May 31, 2025
@k8s-ci-robot
Copy link
Contributor

Welcome @Kevinz857!

It looks like this is your first PR to kubernetes/kubernetes 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes/kubernetes has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot
Copy link
Contributor

Hi @Kevinz857. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label May 31, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Kevinz857
Once this PR has been reviewed and has the lgtm label, please assign deads2k for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the sig/apps Categorizes an issue or PR as relevant to SIG Apps. label May 31, 2025
@github-project-automation github-project-automation bot moved this to Needs Triage in SIG Apps May 31, 2025
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels May 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/hw-accelerators cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. kind/feature Categorizes issue or PR as related to a new feature. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/node Categorizes an issue or PR as relevant to SIG Node. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
Status: Needs Triage
Development

Successfully merging this pull request may close these issues.

Support resource overcommit for virtualized GPUs
2 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.