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

openmp package conflict #727

Closed
beckermr opened this issue Mar 7, 2019 · 3 comments
Closed

openmp package conflict #727

beckermr opened this issue Mar 7, 2019 · 3 comments

Comments

@beckermr
Copy link
Member

beckermr commented Mar 7, 2019

I had a report of intel-openmp conflicting with llvm-openmp for an OS X user. Do we have a consistent story on openmp? Should we be using a metapackage with a bigger build matrix?

@conda-forge/core for viz

@cwwalter
Copy link

Here is some more information on this issue:

When I install prerequisites for a package (treecor) I need to install h5py. This tries to pull in numpy-base. numpy-base only lives in the base channel and it uses mkl and intel-openmp.

When I later install treecorr from conda-forge it installs llvm-openmp.

Then, after the packages are built and I try to run I get:

Standard output:
----------------

OMP: Error #15: Initializing libiomp5.dylib, but found libomp.dylib
already initialized.  OMP: Hint This means that multiple copies of the
OpenMP runtime have been linked into the program. That is dangerous,
since it can degrade performance or cause incorrect results. The best
thing to do is to ensure that only a single OpenMP runtime is linked
into the process, e.g. by avoiding static linking of the OpenMP
runtime in any library. As an unsafe, unsupported, undocumented
workaround you can set the environment variable
KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute,
but that may cause crashes or silently produce incorrect results. For
more information, please see
http://www.intel.com/software/products/support/.

So, it wants to use openmp in the run time but it is finding both and knows that is bad.
The workaround is to install ‘nomkl’ which makes it use neither and then it uses openblas instead.

@beckermr
Copy link
Member Author

It appears that mkl directly depends on intel-openmp. According to @isuruf they are probably ABI compatible.

@beckermr
Copy link
Member Author

This issue should be fixed now w/ MKL too. I posted a note on the #dm-conda LSSTC slack channel for @cwwalter. I'm going to close it for now. Feel free to reopen if you are still having trouble!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants