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

[ARM CPU] ACL TBB scheduler #17445

Merged
merged 25 commits into from
Jul 19, 2023

Conversation

allnes
Copy link
Contributor

@allnes allnes commented May 9, 2023

No description provided.

@allnes allnes added category: CPU OpenVINO CPU plugin platform: arm OpenVINO on ARM / ARM64 labels May 9, 2023
@allnes allnes added this to the 2023.1 milestone May 9, 2023
@github-actions
Copy link
Contributor

This PR will be closed in a week because of 2 weeks of no activity.

@github-actions github-actions bot added the Stale label Jun 26, 2023
@github-actions github-actions bot removed the Stale label Jun 30, 2023
@allnes allnes marked this pull request as ready for review July 3, 2023 15:11
@allnes allnes requested review from a team as code owners July 3, 2023 15:11
@allnes allnes changed the title [ARM CPU] ACL TBB scheduler experiment [ARM CPU] ACL TBB scheduler Jul 13, 2023
@alvoron
Copy link
Contributor

alvoron commented Jul 13, 2023

Should we keep scheduler in executors folder?


unsigned int ACLScheduler::num_threads() const { return parallel_get_num_threads(); }

void ACLScheduler::set_num_threads(unsigned int num_threads) {}
Copy link
Contributor

@dmitry-gorokhov dmitry-gorokhov Jul 18, 2023

Choose a reason for hiding this comment

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

This method has to be implemented in proper way. You can have num_threads internal field initialized with parallel_get_num_threads(); as default value.
Then run_workloads can be implemented using InferenceEngine::parallel_nt which takes number of threads as parameter.
Anyway this need to aligned with streams support activity to provide proper behavior inside TBB arena. This might be not trivial given ACL has only global scheduler instance.
Lets follow-up later

@dmitry-gorokhov
Copy link
Contributor

Should we keep scheduler in executors folder?

I think current place is good enough until we will not have dedicated place with per-target global configuration logic

@dmitry-gorokhov
Copy link
Contributor

@allnes Please rebase on latest master to get fresh CI.

@dmitry-gorokhov dmitry-gorokhov merged commit 510f578 into openvinotoolkit:master Jul 19, 2023
allnes added a commit to allnes/openvino that referenced this pull request Jul 24, 2023
alvoron pushed a commit to alvoron/openvino that referenced this pull request Jul 24, 2023
allnes added a commit to allnes/openvino that referenced this pull request Jul 27, 2023
dmitry-gorokhov pushed a commit that referenced this pull request Jul 27, 2023
allnes added a commit to allnes/openvino that referenced this pull request Jul 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: CPU OpenVINO CPU plugin platform: arm OpenVINO on ARM / ARM64
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants