[5/12][ci-selector][CI] Skip the Proton GPU test when another CUPTI tool is injected (#58455)
Signed-off-by: khluu <khluu000@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Kevin H. Luu committed
Sep 23, 2026 at 17:25 UTC
7ef0d69ea0b0bd6c765335592c0583fc792007ad
1 file changed
+10
tests/v1/worker/test_gpu_profiler.py
+10
@@ -611,6 +611,15 @@ _requires_cuda_for_proton = pytest.mark.skipif(
611
reason="Proton profiling tests require an NVIDIA CUDA platform.",
612
)
613
614
+# Proton subscribes to CUPTI itself, and a process gets one CUPTI subscriber.
615
+# CI's kernel-launch recorder is another, injected through CUDA_INJECTION64_PATH
616
+# on recording runs, and there Proton's cuptiSubscribe fails with error 39.
617
+_requires_no_injected_cupti_tool = pytest.mark.skipif(
618
+ bool(os.environ.get("CUDA_INJECTION64_PATH")),
619
+ reason="Another CUPTI tool is injected (CUDA_INJECTION64_PATH); "
620
+ "Proton has to be the only one.",
621
+)
622
+
623
624
@_requires_cuda_for_proton
625
class TestProtonConfig:
@@ -1176,6 +1185,7 @@ def test_proton_initializes_before_cuda_graph_capture():
1185
1186
1187
@_requires_cuda_for_proton
1188
+@_requires_no_injected_cupti_tool
1189
@pytest.mark.parametrize("context", ["shadow", "python"])
1190
@pytest.mark.parametrize("output_format", ["hatchet", "hatchet_msgpack"])
1191
def test_proton_cuda_graph_replay_attribution_on_gpu(tmp_path, context, output_format):