oneapi-src / oneDAL

oneAPI Data Analytics Library (oneDAL)
https://software.intel.com/en-us/oneapi/onedal
Apache License 2.0
617 stars 213 forks source link

Add hotfix in _daal_static_threader_for #2983

Open avolkov-intel opened 1 week ago

avolkov-intel commented 1 week ago

Description

Global control and default task arena doesn't work well if the number of threads is reduced during the execution. The issue was observed when running Linear Regression algorithm with different number of threads. It was identified that the main reason for performance degradation was daal_static_threader_for so the call was wrapped so that it is executed in task arena that was created on stask. Although, this hotfix isn't well-designed and shouldn't be kept for a long period of time, it make sense to add it till we refactor out threading layer.


PR should start as a draft, then move to ready for review state after CI is passed and all applicable checkboxes are closed. This approach ensures that reviewers don't spend extra time asking for regular requirements.

You can remove a checkbox as not applicable only if it doesn't relate to this PR in any way. For example, PR with docs update doesn't require checkboxes for performance while PR with any change in actual code should have checkboxes and justify how this code change is expected to affect performance (or justification should be self-evident).

Checklist to comply with before moving PR from draft:

PR completeness and readability

Testing

Performance

avolkov-intel commented 1 week ago

/intelci: run