Skip to content

[cuda.compute]: Add pytest-run-parallel#9886

Open
NaderAlAwar wants to merge 2 commits into
NVIDIA:mainfrom
NaderAlAwar:add-pytest-run-parallel
Open

[cuda.compute]: Add pytest-run-parallel#9886
NaderAlAwar wants to merge 2 commits into
NVIDIA:mainfrom
NaderAlAwar:add-pytest-run-parallel

Conversation

@NaderAlAwar

Copy link
Copy Markdown
Contributor

Description

closes #9678

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@NaderAlAwar
NaderAlAwar requested review from a team as code owners July 16, 2026 00:00
@NaderAlAwar
NaderAlAwar requested a review from jrhemstad July 16, 2026 00:00
@github-project-automation github-project-automation Bot moved this to Todo in CCCL Jul 16, 2026
@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Review in CCCL Jul 16, 2026
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: dff0ae1a-6241-4ea4-b54c-d8911dd184e8

📥 Commits

Reviewing files that changed from the base of the PR and between 6f44234 and ec4557e.

📒 Files selected for processing (2)
  • ci/test_cuda_compute_minimal_python.sh
  • python/cuda_cccl/tests/compute/conftest.py
🚧 Files skipped from review as they are similar to previous changes (2)
  • ci/test_cuda_compute_minimal_python.sh
  • python/cuda_cccl/tests/compute/conftest.py

📝 Walkthrough

Summary by CodeRabbit

  • Tests
    • Added CI coverage for thread-safety on free-threaded Python 3.14, running compute tests with parallel thread execution.
    • Improved reliability of “no-Numba” checks when tests run concurrently.
    • Refined SASS verification behavior and updated test annotations for compute scenarios that skip SASS checks.

Walkthrough

Changes

CUDA compute parallel testing

Layer / File(s) Summary
Free-threaded parallel CI execution
ci/test_cuda_compute_minimal_python.sh
Installs pytest-run-parallel, verifies Python 3.14t is free-threaded, and reruns compute/test_no_numba.py with two parallel threads.
Fixture and test compatibility
python/cuda_cccl/tests/compute/conftest.py, python/cuda_cccl/tests/compute/test_no_numba.py
Disables automatic NumBa guard injection during parallel runs, retrieves monkeypatch only when needed, and replaces local SASS monkeypatching with explicit markers.

Assessment against linked issues

Objective Addressed Explanation
Add pytest-run-parallel coverage to Python 3.14t minimal CUDA compute CI [#9678]

Possibly related PRs

  • NVIDIA/cccl#9475 — Both changes extend Python free-threaded CUDA compute CI validation.

Suggested reviewers: jrhemstad, shwina


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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
ci/test_cuda_compute_minimal_python.sh (1)

33-33: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

suggestion: Install pytest-run-parallel only for the 3.14t path. Line 33 adds the plugin to every Python environment, although only the later 3.14t branch uses it. Move this install into that branch to avoid changing pytest’s plugin set for unrelated compute jobs.

As per path instructions, CI reviews should focus on targeted build/test behavior and avoiding unnecessary expensive jobs.

Source: Path instructions

python/cuda_cccl/tests/compute/conftest.py (1)

139-144: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

suggestion: Distinguish auto from confirmed parallel execution. running_parallel becomes true for --parallel-threads=auto, even when the plugin falls back to one thread. That disables raise_on_numba_import during a serial run. Use the plugin’s effective thread count if available, or restrict this bypass to the explicit numeric > 1 mode used by CI. (github.com)

Source: MCP tools


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 7053df74-86d0-4835-a3f5-6967c84d7dcb

📥 Commits

Reviewing files that changed from the base of the PR and between c63cfc5 and 6f44234.

📒 Files selected for processing (3)
  • ci/test_cuda_compute_minimal_python.sh
  • python/cuda_cccl/tests/compute/conftest.py
  • python/cuda_cccl/tests/compute/test_no_numba.py

Comment thread python/cuda_cccl/tests/compute/test_no_numba.py
@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

🥳 CI Workflow Results

🟩 Finished in 16h 02m: Pass: 100%/515 | Total: 4d 02h | Max: 55m 57s | Hits: 100%/666593

See results here.

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

Labels

None yet

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

cuda.compute: Add pytest-run-parallel coverage for free-threaded testing

1 participant