Update dependencies to achieve better performance#25
Conversation
|
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
|
MKL can be selected at install time. See https://conda-forge.org/docs/maintainer/knowledge_base.html#switching-blas-implementation |
|
I'd be fine with either of:
Don't think it's possible to switch the openmp-implementation in the environment like for blas, right @isuruf? |
|
OpenMP can also be selected: https://conda-forge.org/docs/maintainer/knowledge_base.html#switching-openmp-implementation |
|
As conda-forge already allows users to choose between different BLAS and OpenMP implementations, I'm not sure I see the need to restrict this on a feedstock basis. Instead we should focus on educating users on these options they have available and help them make informed choices about those options based on their needs |
|
@Alexsandruss Would you like to try any of the options I suggested? "Pinning" blas/openmp directly is not the best approach, as explained by the various comments in this thread. |
Checklist
0(if the version changed)conda-smithy(Use the phrase@conda-forge-admin, please rerenderin a comment in this PR for automated rerendering)Target of this pull request is to change dependencies from GNU OpenMP and OpenBLAS to LLVM OpenMP and MKL on Linux to improve Faiss performance like it's done in original "pytorch" conda channel recipe.
Small performance comparison of dependencies:
OS: CentOS Linux 7
SW: Python 3.8.6, numpy 1.19.5, faiss 1.6.5, MKL 2020.4, LLVM-OpenMP 11.0.1, GNU OpenMP 9.3.0, OpenBLAS 3.9.0.
HW: Intel(R) Xeon(R) Platinum 8280L CPU @ 2.70GHz, 2 sockets X 28 cores per socket, 376 GB of RAM.
Benchmark script: