Skip to content

feat: add gpu numa node attribute#1165

Open
enoodle wants to merge 2 commits into
kubernetes-sigs:mainfrom
enoodle:erez/add-gpu-numa-node-attribute
Open

feat: add gpu numa node attribute#1165
enoodle wants to merge 2 commits into
kubernetes-sigs:mainfrom
enoodle:erez/add-gpu-numa-node-attribute

Conversation

@enoodle
Copy link
Copy Markdown

@enoodle enoodle commented Jun 2, 2026

What type of PR is this?

/kind feature

What this PR does / why we need it:

This adds numaNode attribute to GPU resource which is similar to the attribute created by https://github.com/kubernetes-sigs/dra-driver-cpu
This will allow creating claims of both CPU and GPU that request to be on the same NUMA node without necessarily involving network cards or depending on the network card to be on the same PCIe as the GPU.

Which issue(s) this PR is related to:

N/A

Special notes for your reviewer:

Does this PR introduce a user-facing change?

Adding "dra.net/numaNode" attribute to devices when this information is available

Additional documentation (design docs, usage docs, etc.):


Checklist

  • make check test passes locally
  • make check-generate passes if api/ changed (CRDs, deepcopy, informers, listers, clientset)
  • make check-modules passes if go.mod / go.sum changed
  • Tests added or updated for the change
  • Helm chart (deployments/helm) updated if flags, RBAC, or defaults changed

enoodle added 2 commits June 2, 2026 15:57
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jun 2, 2026
@netlify
Copy link
Copy Markdown

netlify Bot commented Jun 2, 2026

Deploy Preview for dra-driver-nvidia-gpu ready!

Name Link
🔨 Latest commit f708063
🔍 Latest deploy log https://app.netlify.com/projects/dra-driver-nvidia-gpu/deploys/6a1ef125e585d700081e5800
😎 Deploy Preview https://deploy-preview-1165--dra-driver-nvidia-gpu.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/feature Categorizes issue or PR as related to a new feature. labels Jun 2, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Welcome @enoodle!

It looks like this is your first PR to kubernetes-sigs/dra-driver-nvidia-gpu 🎉. 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-sigs/dra-driver-nvidia-gpu 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 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 Jun 2, 2026
@k8s-ci-robot k8s-ci-robot requested a review from cdesiniotis June 2, 2026 15:06
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

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

Details 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
Copy link
Copy Markdown
Contributor

Hi @enoodle. Thanks for your PR.

I'm waiting for a kubernetes-sigs 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.

Details

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 requested a review from guptaNswati June 2, 2026 15:06
@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jun 2, 2026
"k8s.io/utils/ptr"
)

const compatibilityNumaNodeAttribute resourceapi.QualifiedName = "dra.net/numaNode"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@enoodle instead of adding attributes with a custom prefix, better to use derived attributes feature that is proposed. Also, if we decide to publish an attribute for numaNode, it will be a list attribute to support modern coherent memory systems.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

currently, dra-net, dra-cpu and dra-sriov-vf all seem to use same prefix to advertise this attribute. This could be an intermittent solution until the derived attributes and list-attributes features are GA to allow use cases where topology alignment using numaNode make sense. @varunrsekar WDYT?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not a fan of the short-term solution. GPU DRA driver does not own the “dra.net/numaNode” attribute. If anything, we should wait for this KEP kubernetes/enhancements#6073 to be merged and use the standardized attribute under the resource.kubernetes.io domain.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i see that the standard attribute is now considered for 1.37. Thought there was a push back on this in favor of derived attributes feature which would have been only alpha in 1.37. @enoodle if kubernetes/enhancements#6073 is approved, then we can immediately use the same prefix in our driver. We have to propose same with the other drivers too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. 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. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

4 participants