@@ -638,3 +638,30 @@ def test_graph_complete_options(init_cuda):
638638 gb .complete (options ).close ()
639639 options = CompleteOptions (use_node_priority = True )
640640 gb .complete (options ).close ()
641+
642+
643+ def test_graph_build_mode (init_cuda ):
644+ mod = _common_kernels ()
645+ empty_kernel = mod .get_kernel ("empty_kernel" )
646+
647+ # Simple linear topology
648+ gb = Device ().create_graph_builder ().begin_building (mode = "global" )
649+ launch (gb , LaunchConfig (grid = 1 , block = 1 ), empty_kernel )
650+ launch (gb , LaunchConfig (grid = 1 , block = 1 ), empty_kernel )
651+ launch (gb , LaunchConfig (grid = 1 , block = 1 ), empty_kernel )
652+ gb .end_building ()
653+
654+ gb = Device ().create_graph_builder ().begin_building (mode = "thread_local" )
655+ launch (gb , LaunchConfig (grid = 1 , block = 1 ), empty_kernel )
656+ launch (gb , LaunchConfig (grid = 1 , block = 1 ), empty_kernel )
657+ launch (gb , LaunchConfig (grid = 1 , block = 1 ), empty_kernel )
658+ gb .end_building ()
659+
660+ gb = Device ().create_graph_builder ().begin_building (mode = "relaxed" )
661+ launch (gb , LaunchConfig (grid = 1 , block = 1 ), empty_kernel )
662+ launch (gb , LaunchConfig (grid = 1 , block = 1 ), empty_kernel )
663+ launch (gb , LaunchConfig (grid = 1 , block = 1 ), empty_kernel )
664+ gb .end_building ()
665+
666+ with pytest .raises (ValueError , match = "^Unsupported build mode:" ):
667+ gb = Device ().create_graph_builder ().begin_building (mode = None )
0 commit comments