-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Conversation
@mxnet-label-bot add [pr-awaiting-review] cc @KellenSunderland @larroy for review |
in the PR #14877, we only change the MKLDNN and MKL part, and keep the OpenBLAS untouched. About #14028, agree the latest solution, I will update the install guide of windows If you don't have the Intel Math Kernel Library (MKL) installed, download and install OpenBLAS. Note that you should also download ```mingw64.dll.zip`` along with openBLAS and add them to PATH. |
@edisongustavo I think the suggested docs changes from your earlier PR will be fine. Please add those changes and that will also trigger CI. However, it looks like your last commit is pretty old, so you probably should rebase first. |
@aaronmarkham Ok, I will do that! |
@mxnet-label-bot add[Build, pr-awaiting-response] |
@mxnet-label-bot remove[pr-awaiting-review] |
${OpenBLAS_LIB_SEARCH_PATHS} | ||
|
||
"$ENV{OpenBLAS_HOME}" | ||
"${OpenBLAS_HOME}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't need Openblas_home/include? Where is this list coming from?
@edisongustavo Can you address the review comments by @larroy ? Also can you rebase with the latest master branch ? |
@edisongustavo could you please look at the CI failures and the linked github issue? Thank you! |
@edisongustavo Could you please re-trigger the CI? |
@edisongustavo Gentle ping ... |
Hello everyone, I don't think I will be able to work on this anymore. Given that Conan support has been merged in #13400, then I think this PR is obsolete. Re-open if you think I'm wrong, but this is just dragging forever. |
This is a re-creation of #14028. I've accidentally deleted my fork of
incubator-mxnet
.Description
Eases the pain of linking with OpenBLAS using cmake.
This PR adds support to use the provided
OpenBLASConfig.cmake
.Justification for the change
The standard way of linking with dependencies in CMake is via the
find_package()
mechanism (docs). This mechanism provides 2 ways of finding the dependencies:OpenBLASConfig.cmake
(oropenblas-config.cmake
), which are provided by the dependency itself)FindOpenBLAS.cmake
, which is provided by either cmake or the project compiling the dependency, mxnet in this case)The preferred way to find a dependency is if they provide their "Config" file, since the authors of the dependency are the ones who know best about the structure of their code and how they should be linked.
When I tried to compile MXNet on Windows it didn't work well. My setup was:
It failed because this binary package is compiled with a Visual Studio version prior to 2015. So I would get the error
unresolved external symbol __imp____iob_func
. The reasons are explained here: https://stackoverflow.com/questions/30412951/unresolved-external-symbol-imp-fprintf-and-imp-iob-func-sdl2Then I tried to use the conda-forge package. This almost worked.
On further inspection of the FindOpenBLAS.cmake and the conda-forge package, I noticed that MXNet didn't use the provided "cmake Config mode" files (
OpenBLASConfig.cmake
). It tried to find the library all by itself, which is an "anti-pattern" when using cmake. So I thought that this could be an opportunity to be able to contribute to the project by improving this module.Checklist
Essentials
Please feel free to remove inapplicable items for your PR.
Changes
I have tested this by compiling it on Windows and Linux.
To provide OpenBLAS I have tried:
On Linux:
On Windows:
Comments