zheng-da commented on a change in pull request #10613: Add Windows MKLDNN Building Instruction URL: https://github.com/apache/incubator-mxnet/pull/10613#discussion_r182801243
########## File path: MKL_README.md ########## @@ -17,3 +17,106 @@ Installing and enabling the full MKL installation enables MKL support for all op 5. Run 'sudo python setup.py install' + +## Build/Install MXNet with a full MKL installation on Windows: + +To build and install MXNet yourself, you need the following dependencies. Install the required dependencies: + +1. If [Microsoft Visual Studio 2015](https://www.visualstudio.com/vs/older-downloads/) is not already installed, download and install it. You can download and install the free community edition. +2. Download and Install [CMake](https://cmake.org/) if it is not already installed. +3. Download and install [OpenCV](http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0/opencv-3.0.0.exe/download). +4. Unzip the OpenCV package. +5. Set the environment variable ```OpenCV_DIR``` to point to the ```OpenCV build directory``` (```C:\opencv\build\x64\vc14``` for example). Also, you need to add the OpenCV bin directory (```C:\opencv\build\x64\vc14\bin``` for example) to the ``PATH`` variable. +6. If you have Intel Math Kernel Library (MKL) installed, set ```MKL_ROOT``` to point to ```MKL``` directory that contains the ```include``` and ```lib```. Typically, you can find the directory in +```C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2018\windows\mkl```. +7. If you don't have the Intel Math Kernel Library (MKL) installed, download and install [OpenBlas](http://sourceforge.net/projects/openblas/files/v0.2.14/). Note that you should also download ```mingw64.dll.zip`` along with openBLAS and add them to PATH. +8. Set the environment variable ```OpenBLAS_HOME``` to point to the ```OpenBLAS``` directory that contains the ```include``` and ```lib``` directories. Typically, you can find the directory in ```C:\Program files (x86)\OpenBLAS\```. + +After you have installed all of the required dependencies, build the MXNet source code: + +1. Download the MXNet source code from [GitHub](https://github.com/dmlc/mxnet). Don't forget to pull the submodules: +``` + git clone https://github.com/apache/incubator-mxnet.git ~/mxnet --recursive +``` + +2. Update mkldnn to the newest: +``` + cd 3rdparty/mkldnn/ && git checkout master && git pull +``` + +Or you can follow the [#216](https://github.com/intel/mkl-dnn/pull/216) to do some changes directly. + +3. Download [MKLML small library](https://github.com/intel/mkl-dnn/releases/download/v0.13/mklml_win_2018.0.2.20180127.zip): + +Extract it to `3rdparty/mkldnn/external` manually. + +4. Copy file `3rdparty/mkldnn/config_template.vcxproj` to incubator-mxnet root. Review comment: is it possible to do everything from step 2 to 4 in a single command line? once we update the mkldnn submodule, we won't need step 2. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services