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

DOC Warn if coexisting libomp / libiomp on MacOS #142

Merged
merged 5 commits into from Jul 11, 2023
Merged

Conversation

jeremiedbb
Copy link
Collaborator

related to ContinuumIO/anaconda-issues#13221
and scikit-learn-contrib/imbalanced-learn#984

Looks like it's possible to have some crashes due to both libraries coexisting in the same python program on MacOS afterall.

I removed the linux only filter for the warning, but then it means all macos users installing from conda default channel will get this warning. Is it something that we want ?

@ogrisel
Copy link
Contributor

ogrisel commented Jul 10, 2023

Could you please document the change in the warning in the changelog?


Surprisingly, we never encountered this kind of issue on macOS, where this mix
is the most frequent (Clang being the default C compiler on macOS).
LLVM/Clang instead of GCC (this is the case for instance with conda's default channel).
Copy link
Contributor

@ogrisel ogrisel Jul 10, 2023

Choose a reason for hiding this comment

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

Could you also please mention the possibility to use export MKL_THREADING_LAYER=tbb as a workaround on macOS in the subsequent paragraph?

CHANGES.md Outdated Show resolved Hide resolved
multiple_openmp.md Outdated Show resolved Hide resolved
@ogrisel ogrisel merged commit 57a59e4 into master Jul 11, 2023
0 of 19 checks passed
@ogrisel ogrisel deleted the libomp-libiomp-warn branch July 11, 2023 08:15
@ogrisel
Copy link
Contributor

ogrisel commented Jul 11, 2023

Merged, thanks @jeremiedbb!

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jul 17, 2023
3.2.0 (2023-07-13)
==================

- Dropped support for Python 3.6 and 3.7.

- Added support for custom library controllers. Custom controllers must inherit from
  the `threadpoolctl.LibController` class and be registered to threadpoolctl using the
  `threadpoolctl.register` function.
  joblib/threadpoolctl#138

- A warning is raised on macOS when threadpoolctl finds both Intel OpenMP and LLVM
  OpenMP runtimes loaded simultaneously by the same Python program. See details and
  workarounds at https://github.com/joblib/threadpoolctl/blob/master/multiple_openmp.md.
  joblib/threadpoolctl#142
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.

None yet

2 participants