Thanks to visit codestin.com
Credit goes to github.com

Skip to content

DOC: Do not recommend ATLAS as top choice for BLAS - #34332

Merged
lorentzenchr merged 4 commits into
scikit-learn:mainfrom
david-cortes-intel:no_atlas
Jun 22, 2026
Merged

DOC: Do not recommend ATLAS as top choice for BLAS#34332
lorentzenchr merged 4 commits into
scikit-learn:mainfrom
david-cortes-intel:no_atlas

Conversation

@david-cortes-intel

@david-cortes-intel david-cortes-intel commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Reference Issues/PRs

What does this implement/fix? Explain your changes.

The computational performance guide lists ATLAS as the top choice for optimized BLAS backends, but:

  • ATLAS does not allow runtime configuration of threads the way OpenBLAS and MKL do, which is quite important when it comes to metaestimators and similar where joblib tries to set inner threads.
  • ATLAS needs to be compiled from source to get optimal performance, whereas the linked blog post installs a pre-built version from the Debian main repository which will not be optimized for the hardware where it's used.
  • In 2026, performance of ATLAS is unlikely to be better than that of more user-friendly libraries like MKL, OpenBLAS and BLIS (at least when it comes to x86 hardware), which allow controlling threads at runtime.

First time contributor introduction

AI usage disclosure

I used AI assistance for:

  • Code generation (e.g., when writing an implementation or fixing a bug)
  • Test/benchmark generation
  • Documentation (including examples)
  • Research and understanding

Any other comments?

@github-actions github-actions Bot added Documentation CI:Linter failure The linter CI is failing on this PR labels Jun 18, 2026
@david-cortes-intel

Copy link
Copy Markdown
Contributor Author

❌ Linting issues

This PR is introducing linting issues. Here's a summary of the issues. Note that you can avoid having linting issues by enabling pre-commit hooks. Instructions to enable them can be found here.

You can see the details of the linting issues under the lint job here

cython-lint

cython-lint detected issues. Please fix them locally and push the changes. Here you can see the detected issues. Note that the installed cython-lint version is cython-lint=0.20.0.

Details


/home/runner/work/scikit-learn/scikit-learn/sklearn/cluster/_dbscan_inner.pyx:31:25: Outer for loop variable 'i' overwritten by inner for-loop target

Generated for commit: d59a62f. Link to the linter CI: here

Linting error is in a file that's not being modified in this PR.

@ogrisel ogrisel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I agree with this proposal.

@github-actions github-actions Bot removed the CI:Linter failure The linter CI is failing on this PR label Jun 18, 2026
@ogrisel

ogrisel commented Jun 18, 2026

Copy link
Copy Markdown
Member

In 2026, performance of ATLAS is unlikely to be better than that of more user-friendly libraries like MKL, OpenBLAS and BLIS (at least when it comes to x86 hardware), which allow controlling threads at runtime.

Site note: BLIS does not seem to be well maintained anymore. There hasn't been any merged PRs since more than 6 months: https://github.com/flame/blis/pulls?q=is%3Apr+is%3Aclosed and the results of a GEMM on Apple M-series CPUs can be wrong: flame/blis#930

@lorentzenchr lorentzenchr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Just one remark.

Comment thread doc/computing/computational_performance.rst Outdated
@github-actions github-actions Bot added the CI:Linter failure The linter CI is failing on this PR label Jun 22, 2026
@lorentzenchr
lorentzenchr enabled auto-merge (squash) June 22, 2026 16:10
@github-actions github-actions Bot removed the CI:Linter failure The linter CI is failing on this PR label Jun 22, 2026
@lorentzenchr
lorentzenchr merged commit 7a95afb into scikit-learn:main Jun 22, 2026
38 checks passed
prady0t pushed a commit to prady0t/scikit-learn that referenced this pull request Sep 2, 2026
@jeremiedbb jeremiedbb mentioned this pull request Sep 8, 2026
14 tasks
jeremiedbb pushed a commit to jeremiedbb/scikit-learn that referenced this pull request Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants