-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
OpenBLAS Warning : Detect OpenMP Loop and this application may hang. Please rebuild the library with USE_OPENMP=1 option. #2197
Comments
Does |
Do you know if any of these use the
I've tried creating my own build and uploading it to conda but it didn't end up uploading for some reason. I downloaded https://anaconda.org/conda-forge/blas/2.10/download/linux-64/blas-2.10-mkl.tar.bz2 then made the following changes:
Then I uploaded to my anaconda cloud:
But it's not appearing in my cloud: |
I expect the repository I linked above will have the build command somewhere in a build.sh or similar. Note that the conda name is openblas not blas - the "mkl" in the name of the one you tried to modify suggests it is probably a completely different BLAS implementation. |
Sorry, my knowledge of |
MKL usually refers to the Math Kernel Library which comes with the Intel compilers. Basically a different implementation of the standard BLAS functions, not freely redistributable last I checked. |
The BLAS you upload is MKL. Probably make sure you have only one BLAS source for both numpy and scipy. |
@isuruf will this be handled by conda-forge/openblas-feedstock ? (BTW if you build with clang/flang, |
Indeed the clang libomp passes the fork utest - both when compiling with clang, and when supplying it disguised as libgomp.so.1 to a gcc-built openblas_utest binary at runtime. (I have not checked if it is a complete run-time replacement for libgomp however - openmp.llvm.org mentions that not all OpenMP 4.0 features are supported, but it is unclear if this page is still up to date, given that it refers to clang 3.8 and gcc 4.9 in some places) |
@martin-frbg, we are building with gcc on linux and can't replace libgomp with libomp because there are some missing symbols in libomp. |
|
Actually according to https://software.intel.com/en-us/forums/intel-c-compiler/topic/793552 the LLVM libomp and Intel OpenMP runtime apear to be one and the same |
Yep, whichever is in the distribution is valid (sort of for some time) |
@brada4, these symbols are missing. See also http://lists.llvm.org/pipermail/openmp-dev/2017-March/001701.html |
https://www.mail-archive.com/gcc@gcc.gnu.org/msg88075.html for the gcc viewpoint. Pity that the two projects can't seem to get along. So we appear to be stuck with either a broken (though some claim POSIXly correct) behaviour on fork() or a library that lacks many modern OpenMP functions. |
I just sent https://reviews.llvm.org/D65714. Other than these symbols, the ones now missing in llvm-openmp 8.0.0 relate to target offloading, which we don't use anyway on conda-forge. |
The problem is that GCC (or respective fortran) dares to import those unused unportable functions/stubs, thus theirs OMP API is headers, not the exports provided by compliant omp library. |
update scipy |
Conda installs pthreads build by defaultconda search libopenblas --channel conda-forge conda install libopenblas=0.3.24=openmp_h2e9423c_0 -c conda-forge
|
Is there a way to fix this via conda installation? I can't seem to get this to work.
Essnentially, I'm asking if there is a precompiled version I can install via conda that has USE_OPENMP=1?
I've posted a question on StackOverflow but I haven't gotten any bites:
https://stackoverflow.com/questions/57257712/how-to-fix-openblas-warning-detect-openmp-loop-and-this-application-may-hang
If I do a separate install via this post I fear that my conda environment will break.
These GitHub issues might help:
BinPro/CONCOCT#232
bxlab/metaWRAP#168
The text was updated successfully, but these errors were encountered: