Repository navigation
Roll the CI compile cache forward and trim redundant optim tests - #180
Merged
jessegrabowski merged 10 commits intoNov 8, 2026
Merged
Conversation
jessegrabowski
force-pushed
the
rebalance-ci-groups
branch
from
November 8, 2026 01:43
5b3631c to
7221aa6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
actions/cachekey for~/.pytensorinrun_tests.ymlnow ends in the commit SHA, and the old lockfile-hash key is the first restore key. A saved cache entry is never overwritten, so the old key kept whatever the first run on eachpixi.lockcompiled. Every graph changed after that run compiled cold on every later run.Main at
142ad12restored theoptimcache on an exact key match and still took 12.4m, because #179 changed the L-BFGS graphs after that entry was saved. Locally the same group takes 444s with an empty cache and 84s with a warm one.On Windows the cache step now caches
~/AppData/Local/PyTensor, which is where pytensor compiles there.~/.pytensordoesn't exist on Windows, so the windowssmokejob had never saved a cache.The
pytensorpin inpyproject.tomlandconda_envs/now requires>=3.3.8.Tests in
tests/optim/that another test already covers are removed, and several tests now share compiled functions.test_rule_reduces_lossruns one case per rule. The L-BFGS kept-trial comparisons intest_rules.pynow compile one step and run it twice from a restored snapshot.test_a_single_precision_search_stays_in_single_precisionnow pins a float64 run that brackets over six trials. Its old case accepted the first trial, so the float32 zoom never ran.Closes #109
📚 Documentation preview 📚: https://pytensor-ml--180.org.readthedocs.build/en/180/