Skip to content
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

Extract Full Model Execution Tests into Nightly Tests #379

Merged
merged 9 commits into from
Feb 28, 2025

Conversation

jameszianxuTT
Copy link
Contributor

@jameszianxuTT jameszianxuTT commented Feb 27, 2025

Ticket

#378

Problem description

Full model execution tests are only attempted in push/pr triggered
workflows, but not in nightlies. This complicates queries and provides
no single source of truth on actual full model execution status from
tt-torch main.

What's changed

Duplicate the workflow in run-tests.yml into a self contained
job that can be run in nightly tests. Execution tests are refactored
to be run in parallel.

Checklist

  • New/Existing tests provide coverage for changes

@jameszianxuTT
Copy link
Contributor Author

Two Additional Notes

  1. I have manually run the Nightly Tests workflow on a subset of the models to ensure this change doesn't break nightlies.
    See: https://github.com/tenstorrent/tt-torch/actions/runs/13575338428. This works.

  2. I am disabling the torchvision execution test just for nightlies as those will add a significant amount of time to the nightly tests. Average test runtime is ~5m with the longest at ~10m and are run in parallel. The torchvision tests collectively take a bit more than an hour to run.

@jameszianxuTT
Copy link
Contributor Author

jameszianxuTT commented Feb 27, 2025

A later PR should refactor the run-tests.yml to run those in parallel as well.

They should also probably be separate from the nightly tests since the number of models want to execute e2e should grow and not all of them need to be included in the on PR / on Push checks.

@codecov-commenter
Copy link

codecov-commenter commented Feb 27, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 75.81%. Comparing base (186ad28) to head (99e76fc).

✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #379   +/-   ##
=======================================
  Coverage   75.81%   75.81%           
=======================================
  Files           8        8           
  Lines        1199     1199           
=======================================
  Hits          909      909           
  Misses        290      290           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@jameszianxuTT jameszianxuTT marked this pull request as draft February 27, 2025 22:01
@jameszianxuTT jameszianxuTT changed the title Jameszianxu/full model exec test extract Extract Full Model Execution Tests into Nightly Tests Feb 27, 2025
Copy link

TestsPassed ✅Skipped ⚠️Failed
TT-Torch Tests435 ran428 passed7 skipped0 failed
TestResult
No test annotations available

Copy link

TestsPassed ✅Skipped ⚠️Failed
TT-Torch Tests435 ran428 passed7 skipped0 failed
TestResult
No test annotations available

@jameszianxuTT jameszianxuTT marked this pull request as ready for review February 28, 2025 19:36
@jameszianxuTT
Copy link
Contributor Author

jameszianxuTT commented Feb 28, 2025

The most recent verification run is here: https://github.com/tenstorrent/tt-torch/actions/runs/13589631720

Here, I rerun nightly tests fully, and stop it when I'm sure everything has been correctly parsed and can run to avoid locking up CI.

The full execution test job I added does pass in this context.

},
# {
# runs-on: wormhole_b0, name: "torchvision_image_classification", tests: "
# tests/models/torchvision/test_torchvision_image_classification.py::test_torchvision_image_classification[full-eval-mobilenet_v2]
Copy link
Contributor

Choose a reason for hiding this comment

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

why are torchvision tests commented out?

Copy link
Contributor Author

@jameszianxuTT jameszianxuTT Feb 28, 2025

Choose a reason for hiding this comment

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

The torchvision tests take over an hour to run, and I don't want to extend nightly testing too much. All the other tests take <10m and are run in parallel.

I am not removing functionality from the onPR and onPush workflows, just duplicating a subset of their functionality to add more test coverage to the nightly tests. (Nightly tests do not currently have any full model execution tests).

The list of execution tests run in nightly will likely change anyways, and I don't know which ones are the most important. I've included most of the ones run in the onPR/onPush workflows as a proof-of-concept demonstration that this added CI job does work, with the assumption that this list of tests will likely be changed once Aleks gets back.

ref

@jameszianxuTT jameszianxuTT merged commit 5fbaf8d into main Feb 28, 2025
23 of 53 checks passed
@jameszianxuTT jameszianxuTT deleted the jameszianxu/full_model_exec_test_extract branch February 28, 2025 23:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants