Skip to content

Add support for consumer grade gpus - #2537

Open
GregWhiteyBialas wants to merge 3 commits into
stackhpc/2026.1from
p4000
Open

Add support for consumer grade gpus#2537
GregWhiteyBialas wants to merge 3 commits into
stackhpc/2026.1from
p4000

Conversation

@GregWhiteyBialas

Copy link
Copy Markdown
Contributor

Add suppot for consumer grade nvidia gpus. Those cards expose
audio devices which id, needs to be added as one of kernel
arguments in vfio-pci.id variable along with display_id to work properly.
Support for Nvidia p4000 is also added as working example of those cards.

@GregWhiteyBialas
GregWhiteyBialas requested a review from a team as a code owner August 24, 2026 12:31
@github-actions github-actions Bot added the waiting-review PR is waiting for a review label Aug 24, 2026
@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 933183db-1432-4227-9291-30c6afc164ca

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Add consumer-grade NVIDIA GPU support by including defined audio PCI IDs in vfio-pci.id alongside display IDs. Add NVIDIA Quadro P4000 configuration as a working example.

Walkthrough

The change adds optional GPU audio PCI IDs to passthrough configuration, defines NVIDIA Quadro P4000 PCI data, and documents consumer-grade NVIDIA GPU support.

Changes

GPU passthrough support

Layer / File(s) Summary
GPU PCI configuration and P4000 definition
etc/kayobe/ansible/maintenance/pci-passthrough.yml, etc/kayobe/stackhpc-compute.yml, releasenotes/notes/add-consumer-grade-gpu-support-770dd9a77367c198.yml
The passthrough configuration appends product_audio_id when defined. The compute configuration adds NVIDIA Quadro P4000 identifiers. The release note documents the required audio-device configuration and P4000 support.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: 🔵 Low · up to 74ba7

The change adds consumer NVIDIA GPU passthrough support, including audio-device IDs and an NVIDIA P4000 example. It is mergeable with follow-up to correct the release note’s configuration names and remove the YAML lint violation.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (3 skipped: 3 unsupported.)
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 027eb5ba-acb6-4a43-9a88-5a72e1eb5288

📥 Commits

Reviewing files that changed from the base of the PR and between 7fa8c88 and 74ba79b.

📒 Files selected for processing (3)
  • etc/kayobe/ansible/maintenance/pci-passthrough.yml
  • etc/kayobe/stackhpc-compute.yml
  • releasenotes/notes/add-consumer-grade-gpu-support-770dd9a77367c198.yml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Review details
⏰ Context from checks skipped due to timeout. (3)
  • GitHub Check: stackhpc/check
  • GitHub Check: Ansible 2.20 lint with Python 3.12
  • GitHub Check: Ansible 2.19 lint with Python 3.12
🧰 Additional context used
🪛 YAMLlint (1.37.1)
releasenotes/notes/add-consumer-grade-gpu-support-770dd9a77367c198.yml

[error] 8-8: too many blank lines (1 > 0)

(empty-lines)

🔇 Additional comments (2)
etc/kayobe/ansible/maintenance/pci-passthrough.yml (1)

21-23: LGTM!

etc/kayobe/stackhpc-compute.yml (1)

140-146: LGTM!

Comment on lines +4 to +7
Add suppot for consumer grade nvidia gpus. Those cards expose
audio devices which id, needs to be added as one of kernel
arguments in vfio-pci.id variable along with display_id to work properly.
Support for Nvidia p4000 is also added as working example of those cards.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use the implementation’s parameter and field names in the release note.

The note names vfio-pci.id and display_id, but the implementation uses vfio-pci.ids and product_id. Correct these identifiers and the spelling and grammar errors before merge.

Suggested wording
-    Add suppot for consumer grade nvidia gpus. Those cards expose
-    audio devices which id, needs to be added as one of kernel 
-    arguments in vfio-pci.id variable along with display_id to work properly.
-    Support for Nvidia p4000 is also added as working example of those cards.
+    Add support for consumer-grade NVIDIA GPUs. These cards expose audio
+    devices whose IDs must be added to the `vfio-pci.ids` kernel argument
+    with the display `product_id` for passthrough to work correctly.
+    Add NVIDIA P4000 support as a working example.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Add suppot for consumer grade nvidia gpus. Those cards expose
audio devices which id, needs to be added as one of kernel
arguments in vfio-pci.id variable along with display_id to work properly.
Support for Nvidia p4000 is also added as working example of those cards.
Add support for consumer-grade NVIDIA GPUs. These cards expose audio
devices whose IDs must be added to the `vfio-pci.ids` kernel argument
with the display `product_id` for passthrough to work correctly.
Add NVIDIA P4000 support as a working example.

audio devices which id, needs to be added as one of kernel
arguments in vfio-pci.id variable along with display_id to work properly.
Support for Nvidia p4000 is also added as working example of those cards.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Remove the extra blank line.

YAMLlint reports too many blank lines (1 > 0) for this line. Remove the trailing blank line so the release note passes the lint check.

🧰 Tools
🪛 YAMLlint (1.37.1)

[error] 8-8: too many blank lines (1 > 0)

(empty-lines)

Source: Linters/SAST tools

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

Labels

waiting-review PR is waiting for a review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant