Repository navigation
[BUG]: _has_cuGraphNodeGetParams check missed the binding version check #2052
Copy link
Copy link
Closed
Labels
P0High priority - Must do!High priority - Must do!bugSomething isn't workingSomething isn't workingcuda.coreEverything related to the cuda.core moduleEverything related to the cuda.core moduletriageNeeds the team's attentionNeeds the team's attention
Description
Is this a duplicate?
- I confirmed there appear to be no duplicate issues for this bug and that I agree to the Code of Conduct
Type of Bug
Runtime Error
Component
cuda.core
Describe the bug
____________________________________________________________ test_reconstructed_body_survives_parent_deletion ____________________________________________________________
init_cuda = <Device 0 (NVIDIA RTX 6000 Ada Generation)>
def test_reconstructed_body_survives_parent_deletion(init_cuda):
"""Body graph obtained via nodes() reconstruction survives parent deletion."""
g = GraphDefinition()
condition = try_create_condition(g)
g.while_loop(condition)
> all_nodes = g.nodes()
^^^^^^^^^
condition = <GraphCondition handle=0x1>
g = <GraphDefinition handle=0x5c76568fe9c0>
init_cuda = <Device 0 (NVIDIA RTX 6000 Ada Generation)>
tests/graph/test_graph_definition_lifetime.py:120:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
cuda/core/graph/_graph_definition.pyx:328: in cuda.core.graph._graph_definition.GraphDefinition.nodes
return {GraphNode._create(self._h_graph, nodes_vec[i]) for i in range(num_nodes)}
cuda/core/graph/_graph_node.pyx:90: in cuda.core.graph._graph_node.GraphNode._create
return GN_create(h_graph, node)
cuda/core/graph/_graph_node.pyx:581: in cuda.core.graph._graph_node.GN_create
return _registered(GN_create_impl(h_node))
cuda/core/graph/_graph_node.pyx:610: in cuda.core.graph._graph_node.GN_create_impl
return ConditionalNode._create_from_driver(h_node)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> params = handle_return(driver.cuGraphNodeGetParams(
E AttributeError: module 'cuda.bindings.driver' has no attribute 'cuGraphNodeGetParams'
cuda/core/graph/_subclasses.pyx:641: AttributeError
======================================================================== short test summary info =========================================================================
FAILED tests/graph/test_graph_definition_lifetime.py::test_reconstructed_body_survives_parent_deletion - AttributeError: module 'cuda.bindings.driver' has no attribute 'cuGraphNodeGetParams'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
=============================================================== 1 failed, 252 passed, 35 skipped in 6.74s ================================================================
How to Reproduce
Use cuda-bindings 13.1 + CUDA driver 13.2 + latest cuda-core
Expected behavior
test pass
Operating System
No response
nvidia-smi output
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P0High priority - Must do!High priority - Must do!bugSomething isn't workingSomething isn't workingcuda.coreEverything related to the cuda.core moduleEverything related to the cuda.core moduletriageNeeds the team's attentionNeeds the team's attention
Activity
leofang commentedon May 8, 2026
Audited
mainfor other instances of the same pattern (driver-only version check gating a binding function). Found two more:_module.pyx:461-465—Kernel._get_arguments_info()Only checks
cy_driver_version() < (12, 4, 0), but callscydriver.cuKernelGetParamInfo()at line 473. Missingcy_binding_version()check. Exposed viaKernel.num_argumentsandKernel.arguments_info.tests/graph/test_graph_definition.py:51-57—_driver_has_node_get_params()Test helper only checks
driver_version() >= (13, 2, 0)— same pattern as the source-level bug. Used at lines 518/529/540/551 to decide the expectedreconstructed_classfor conditional node parametrize specs.Fix missing binding version checks alongside driver version checks (#…