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

[MNT] Improve multithreading testing #2317

Merged
merged 11 commits into from
Nov 22, 2024
Merged

[MNT] Improve multithreading testing #2317

merged 11 commits into from
Nov 22, 2024

Conversation

MatthewMiddlehurst
Copy link
Member

@MatthewMiddlehurst MatthewMiddlehurst commented Nov 7, 2024

Adds tests for multithreading and n_jobs the test which runs multithreaded estimators is not enabled anywhere currently. Adds tags and changes defaults in a bunch of estimators.

@MatthewMiddlehurst MatthewMiddlehurst added testing Testing related issue or pull request multithreading Multithreading issue labels Nov 7, 2024
@aeon-actions-bot aeon-actions-bot bot added the maintenance Continuous integration, unit testing & package distribution label Nov 7, 2024
@aeon-actions-bot
Copy link
Contributor

Thank you for contributing to aeon

I have added the following labels to this PR based on the title: [ $\color{#EC843A}{\textsf{maintenance}}$ ].
I would have added the following labels to this PR based on the changes made: [ $\color{#2C2F20}{\textsf{testing}}$ ], however some package labels are already present.

The Checks tab will show the status of our automated tests. You can click on individual test runs in the tab or "Details" in the panel below to see more information if there is a failure.

If our pre-commit code quality check fails, any trivial fixes will automatically be pushed to your PR unless it is a draft.

Don't hesitate to ask questions on the aeon Slack channel if you have any.

PR CI actions

These checkboxes will add labels to enable/disable CI functionality for this PR. This may not take effect immediately, and a new commit may be required to run the new configuration.

  • Run pre-commit checks for all files
  • Run mypy typecheck tests
  • Run all pytest tests and configurations
  • Run all notebook example tests
  • Run numba-disabled codecov tests
  • Stop automatic pre-commit fixes (always disabled for drafts)
  • Disable numba cache loading
  • Push an empty commit to re-run CI checks

@MatthewMiddlehurst MatthewMiddlehurst changed the title [MNT] Change BaseCollectionEstimator multithreading handling and improve multithreading testing [MNT] Improve multithreading testing Nov 20, 2024
@MatthewMiddlehurst MatthewMiddlehurst changed the title [MNT] Improve multithreading testing [MNT] Improve multithreading testing and check dependencies in base Nov 20, 2024
@MatthewMiddlehurst MatthewMiddlehurst marked this pull request as ready for review November 20, 2024 13:12
@MatthewMiddlehurst MatthewMiddlehurst changed the title [MNT] Improve multithreading testing and check dependencies in base [MNT] Improve multithreading testing Nov 20, 2024
Copy link
Member

@SebastianSchmidl SebastianSchmidl left a comment

Choose a reason for hiding this comment

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

I have not checked if you got all the estimators to set their tag "capability:multithreading", otherwise looks good 👍🏼

@SebastianSchmidl
Copy link
Member

Maybe we can add an option to the aeon actions bot to run these tests on a PR?

@MatthewMiddlehurst
Copy link
Member Author

That is the plan eventually. Yeah, this would fail on more than just the anomaly detectors currently, but similar to the type checking stuff It is more about making the framework available for when someone is a bit more motivated to tackle multithreading.

The main stuff I wanted to make sure is tested right now are the parameters and tags so we don't have to do a massive refactor down the line if anyone does ever take it on 🙂. Getting rid of that one commented out test is also a nice bonus.

@SebastianSchmidl
Copy link
Member

Yes, not of high priority, and this already improves consistency considerably! 👍🏼

I'd like to see some way to track the progress and open issues for this topic. I did not locate an issue tracking the work for improving the multithreading. Maybe, you could create an issue and add the already identified issues there?

This also seems related: #1886

@MatthewMiddlehurst
Copy link
Member Author

Yep no problem I can create an issue for this.

#1886 is more surrounding these lines IMO (https://github.com/aeon-toolkit/aeon/blob/main/aeon/base/_base_collection.py#L92) which is definitely related but good as its own issue

@MatthewMiddlehurst MatthewMiddlehurst merged commit 09b8bb2 into main Nov 22, 2024
15 checks passed
@MatthewMiddlehurst MatthewMiddlehurst deleted the mm/other-base branch November 22, 2024 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Continuous integration, unit testing & package distribution multithreading Multithreading issue testing Testing related issue or pull request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants