Skip to content

Reduce number of slow tests and balance parts #1569

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

ricardoV94
Copy link
Member

@ricardoV94 ricardoV94 commented Jul 31, 2025

CI part split

  • Remove special sparse job, it took only 4 minutes
  • Move conv tests to another job as together they didn't take much
  • Split numba slinalg into its own job
  • Results: Most tests finish <15 minutes, and the two numba jobs in ~20 minutes (instead of 44 before). So we get feedback / mergeability 2x faster

SecondBroadcast tests

In general these broadcast tests are really wasteful, since they keep testing functionality that is shared for any Elemwise, regardless of the core_op, when testing the scalar op should suffice. I removed the 90 combinations we were running just to see if runtime broadcast would raise (it does ofc).

Also the chain from iterable for good tests was not doing anything, because we were not using the prefix in the helper function, so the dictionary keys were the same and overriding the first two iterables. My changes there don't actually reduce the number of iterations.

Numba pad tests

Numba CI are alwas the slowest and pad is at least 15% of it.

Since this is only testing OpFromGraph (there's no custom dispatch for pad), it seems unnecessary. There's nothing new added to the numba module because of pad

Related to #1433
Related to #1124


📚 Documentation preview 📚: https://pytensor--1569.org.readthedocs.build/en/1569/

@ricardoV94 ricardoV94 changed the title Skip slow numba pad tests Reduce number of slow tests Jul 31, 2025
Copy link

codecov bot commented Jul 31, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.53%. Comparing base (f7cc0f0) to head (2a97306).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1569      +/-   ##
==========================================
- Coverage   81.54%   81.53%   -0.01%     
==========================================
  Files         230      230              
  Lines       53088    53088              
  Branches     9427     9427              
==========================================
- Hits        43288    43286       -2     
- Misses       7365     7366       +1     
- Partials     2435     2436       +1     

see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ricardoV94 ricardoV94 changed the title Reduce number of slow tests Reduce number of slow tests and balance parts Aug 1, 2025
@ricardoV94 ricardoV94 force-pushed the numba_tests_slow branch 2 times, most recently from 1976ee4 to e929c31 Compare August 1, 2025 08:58
@ricardoV94
Copy link
Member Author

@@ -11,6 +11,9 @@
RTOL = ATOL = 1e-6 if floatX.endswith("64") else 1e-3


@pytest.mark.skip(
Copy link
Member

Choose a reason for hiding this comment

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

Let's just delete it inside of marking it as skip?

Maybe keep one simple smoke test (with basic settings) to make sure something upstream hasn't somehow broken something

Copy link
Member Author

Choose a reason for hiding this comment

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

I want to come back to it when we implement numba caching, it's a good case of painfully slow (while it's like 2s on jax)

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

Successfully merging this pull request may close these issues.

2 participants