Repository navigation
test(cuda.core): skip CUDA-GL interop tests on TCC devices #3054
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
Merged
rparolin
merged 2 commits into
NVIDIA:main
from
rparolin:fix/graphics-tests-skip-on-tcc
Oct 12, 2026
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, the
test_graphics_apis.pytests do not need the same skip?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@coderabbitai Do you know?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Length of output: 2328
🏁 Script executed:
Length of output: 9291
@juenglinsuggestion: Yes—the GL smoke tests need the same early TCC skip.In
cuda_bindings/tests/test_graphics_apis.py,_gl_context()callsopen_gl_window()without checking TCC mode. The reportedGLExceptionwould propagate before the test reaches itscudaErrorOperatingSystemhandling. Both parameterizations oftest_cuda_gl_register_image_smoketestuse this path.Add the check before
_configure_pyglet_headless(). Usecudart.cudaGetDevice()andcudart.cudaDeviceGetAttribute(cudart.cudaDeviceAttr.cudaDevAttrTccDriver, device)to avoid a dependency oncuda.core. Check both return statuses; query failures should fail, not skip.Keep
test_cuda_register_image_invalidenabled. It does not create a GL context and only checks that registration with an invalid handle returns an error.This conclusion comes from code inspection. I did not test it on TCC hardware.
You are interacting with an AI system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be better to work the skip into
is_gl_context_unavailablethen?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Length of output: 9434
@juenglinsuggestion: Share the TCC check, but keep it separate fromis_gl_context_unavailable().That function classifies an exception after GL setup fails. TCC is a property of the selected CUDA device, so check it before GL setup. A GL context could also open on another GPU even when the selected CUDA device uses TCC.
Do not add generic
GLExceptionhandling. The helper deliberately rejects it because it can indicate a real GL error.A separate helper in
cuda_python_test_helpers.graphicscould return a skip reason for TCC. Both test suites could call it before configuring pyglet or opening a window. Usecuda.bindingsfor the device query, rather than introducing acuda.coredependency. Let query failures propagate.You are interacting with an AI system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@coderabbitai Please make the change you suggested.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📌 Tracking this review finding. CodeRabbit will verify future changes against the original feedback and will only mark it fixed when the code satisfies it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Fixed in #3054.