Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Add linux and macos MKLDNN Building Instruction #11049

Merged
merged 16 commits into from
Jul 30, 2018

Conversation

xinyu-intel
Copy link
Contributor

@xinyu-intel xinyu-intel commented May 24, 2018

Description

This is a instruction for users to build mxnet with mkldnn from source.

Checklist

Essentials

Please feel free to remove inapplicable items for your PR.

  • The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
  • Changes are complete (i.e. I finished coding on this PR)
  • All changes have test coverage:
  • Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
  • Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
  • Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
  • Code is well-documented:
  • For user-facing API changes, API doc string has been updated.
  • For new C++ functions in header files, their functionalities and arguments are documented.
  • For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
  • Check the API doc at http:https://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
  • To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Known issues

Can not enable opencv when build with gcc on macOS. #11048

@pengzhao-intel @zheng-da

@xinyu-intel xinyu-intel changed the title Add linux and macos MKLDNN Building Instruction [WIP] Add linux and macos MKLDNN Building Instruction May 24, 2018
@xinyu-intel xinyu-intel changed the title [WIP] Add linux and macos MKLDNN Building Instruction Add linux and macos MKLDNN Building Instruction May 28, 2018
@xinyu-intel
Copy link
Contributor Author

@zheng-da hi, please take a review for this doc. Thanks!

MKLDNN_README.md Outdated

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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there an issue with using the latest Visual Studio 2017 Community Edition?

Copy link
Contributor Author

@xinyu-intel xinyu-intel May 31, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To use VS2017, please follow this link to modify VC++ and change the version of the Visual studio 2017 to v14.11 before building. VS2015 is prefered. Thanks!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so, do we need to clarify this point in the doc as well?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd mention it. People have asked about using the latest Visual Studio.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MKL-DNN officially supports VS2015 and I don't know whether VS2017 works. I'd like to ask MKL-DNN team and try it later because i'm suffering from cpu int8 now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've checked building with VS2017 without any issues. Could you take a review and can we merge if not any questions? Thanks!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a note about the VS2017 to the instructions here? It's what people see by default when they go to download VS, so it makes it easier for the user to try out.

```
ifeq ($(USE_OPENMP), 1)
# ifneq ($(UNAME_S), Darwin)
CFLAGS += -fopenmp
Copy link
Member

@szha szha Jun 19, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the default clang compilers shipped in command line tools don't support this switch, but the one shipped with brew's llvm does.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo, 'set mac complier to gcc49', I've add them to the make command.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So if you just do make USE_OPENMP=1 - what happens? You don't get the benefit without also modifying the Makefile? Wouldn't it make more sense to add another build option, versus telling the user to mess with the Makefile?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't you see this means if your os is Darwin, you will not enable openmp even if you USE_OPENMP=1? If possible, i need check gcc version (whether apple clang or gnu-gcc) here. Any good suggestions? @szha @zheng-da

Copy link
Contributor

@aaronmarkham aaronmarkham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some clarifications needed.

MKLDNN_README.md Outdated
### Prerequisites

```
apt-get update && apt-get install -y build-essential git libopencv-dev curl gcc libopenblas-dev python python-pip python-dev python-opencv graphviz python-scipy python-sklearn
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you format so it is easier to read? Maybe add sudo since most people would need that (unless this is intended to be docker instructions).

sudo apt-get update && sudo apt-get install -y \
build-essential \
curl \
... alphabetical list

Copy link
Contributor Author

@xinyu-intel xinyu-intel Jun 20, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MKLDNN_README.md Outdated
make -j $(nproc) USE_OPENCV=1 USE_MKLDNN=1 USE_BLAS=mkl USE_INTEL_PATH=/opt/intel
```

If you don't have full MKL library installed, you can use OpenBLAS by setting `USE_BLAS=openblas`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you clarify this state? Why wouldn't the user have the full MKL lib? That's not in the prerequisites? Can you link to installation instructions, so the user can upgrade to the full install? What happens if you don't have it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MKL is a faster implementation of openblas. one can replace the other.

MKLDNN_README.md Outdated

If you want to enable OpenMP for better performance, you should modify these two files:

1. Makefile L138:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where would I find this file?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe you can add a path?

MKLDNN_README.md Outdated
endif
```

2. prepare_mkldnn.sh L96:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where would I find this file? Please provide relative locations or general instructions where it might be found.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe you can add a path?

Install the dependencies, required for MXNet, with the following commands:

- [Homebrew](https://brew.sh/)
- gcc (clang in macOS does not support OpenMP)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curious if a specific version of CLT or XCode is expected....

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to have a try:)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it should work for all versions.

MKLDNN_README.md Outdated
```
git clone --recursive https://github.com/apache/incubator-mxnet.git
cd incubator-mxnet
git submodule update --recursive --init
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason you use this extra step for Linux but not the other OSs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

del

Copy link
Contributor

@zheng-da zheng-da Jun 20, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't think we need this extra step. @xinyu-intel

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you please delete git submodule update --recursive --init.

### Build MXNet with MKL-DNN

```
make -j $(sysctl -n hw.ncpu) CC=gcc-4.9 CXX=g++-4.9 USE_OPENCV=0 USE_OPENMP=1 USE_MKLDNN=1 USE_BLAS=apple USE_PROFILER=1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't see a git clone step for these Mac instructions.
Also, what about the python binding steps?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where is it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please review the latest commit....

[ 2. 2. 2.]]
```

### Verify whether MKL-DNN works
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I couldn't tell if this section was a continuation of Windows or not.
Maybe add another level for Installation using ## and then make this section also a ##.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't you see <h2 id="4">Verify MXNet with python</h2> before this title?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see those. It's just not a pattern of formatting for markdown that I'm used to. It works in the view, so it's fine. Thanks.

MKLDNN_README.md Outdated
```
export PYTHONPATH=~/incubator-mxnet/python
pip install --upgrade pip
pip install --upgrade jupyter graphviz cython pandas bokeh matplotlib opencv-python requests
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

List and alphabetize...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Numpy + Intel(R) MKL: preloading libiomp5.so runtime
MKL_VERBOSE Intel(R) MKL 2018.0 Update 1 Product build 20171007 for Intel(R) 64 architecture Intel(R) Advanced Vector Extensions 512 (Intel(R) AVX-512) enabled processors, Lnx 2.40GHz lp64 intel_thread NMICDev:0
MKL_VERBOSE SGEMM(T,N,12,10,8,0x7f7f927b1378,0x1bc2140,8,0x1ba8040,8,0x7f7f927b1380,0x7f7f7400a280,12) 8.93ms CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:40 WDiv:HOST:+0.000
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any conclusion? Links to more info / help?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to Intel MKL

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a link to there - or if you have a support forum. You could also link to the discuss.mxnet.io. And you could link to https://github.com/apache/incubator-mxnet/labels/MKL and https://github.com/apache/incubator-mxnet/labels/MKLDNN

Something like:

Next Steps and Support

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good suggestions.I will add some related links. However, MKLDNN is a backed of MXNet and MKL is a optional BLAS library for MXNet. There are not many examples for themselves beside installation. For users, they can build MXNet with them following this instruction and then refer to MXNet's tutorials and examples directly.

@xinyu-intel
Copy link
Contributor Author

@zheng-da @szha Please take a review again, if any questions please let me know. Thanks!

@xinyu-intel
Copy link
Contributor Author

@szha Any questions to this PR?

@szha
Copy link
Member

szha commented Jul 3, 2018

@xinyu-intel looks good to me. Should this be incorporated in our installation page? @aaronmarkham

@szha
Copy link
Member

szha commented Jul 3, 2018

Most of the content in this change is not mkldnn-specific.

@pengzhao-intel pengzhao-intel mentioned this pull request Jul 10, 2018
@pengzhao-intel
Copy link
Contributor

pengzhao-intel commented Jul 10, 2018

ping @aaronmarkham please help take a review.


### Enable OpenMP for MacOS

If you want to enable OpenMP for better performance, you should modify the Makefile in MXNet root dictionary:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use ADD_CFLAGS in config.mk for this instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems doesn't work.

@larroy
Copy link
Contributor

larroy commented Jul 11, 2018

Can we document with CMake? we are trying to migrate to CMake, so would be great to have instructions that are future proof.

@xinyu-intel
Copy link
Contributor Author

@larroy Thanks for your suggestions. Doc for windows is based on cmake, and cmake instructions for linux and mac will be available in the future. I think we should temporary use makefile system for stability since most of users and docs are using makefile on linux and MacOS:)

@xinyu-intel
Copy link
Contributor Author

Somebody said that installation of your software in Mac OS is really hard https://twitter.com/ApacheMXNet/status/1014929483038511104, so I think we should merge this doc first and improve this later since the circle of this pr is so long.

Copy link
Contributor

@aaronmarkham aaronmarkham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a couple more clarifications.
I think that @ankkhedia might want to run through the steps on Windows too, just to make sure it is all working as described. He'll also be able to update the windows_setup.md if needed since he's working on that now.

### Clone MXNet sources

```
git clone --recursive https://github.com/apache/incubator-mxnet.git
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about the different pip options? Since this PR started I added a table to the instructions and made a recommendation on the mkl install.
pip install mxnet-cu92mkl

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why pip? This is just a instruction for building with mkldnn or MKL blas from source.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The title of the doc is "Build/Install MXNet with MKL-DNN", so I thought you might want to cover the available options, or at least mention them.

```
ifeq ($(USE_OPENMP), 1)
# ifneq ($(UNAME_S), Darwin)
CFLAGS += -fopenmp
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So if you just do make USE_OPENMP=1 - what happens? You don't get the benefit without also modifying the Makefile? Wouldn't it make more sense to add another build option, versus telling the user to mess with the Makefile?

MKLDNN_README.md Outdated

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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a note about the VS2017 to the instructions here? It's what people see by default when they go to download VS, so it makes it easier for the user to try out.

MKLDNN_README.md Outdated
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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That page is woefully out of date. I know it is being worked on. cc'ing @ankkhedia if there's any context he should know about as part of his updates.

MKLDNN_README.md Outdated

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:https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0/opencv-3.0.0.exe/download).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean for you to put the version in the link text, instead of hidden in the link itself. People might skip the step if they think any version will do. Having the user base be your test subjects is less than ideal.

[ 2. 2. 2.]]
```

### Verify whether MKL-DNN works
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see those. It's just not a pattern of formatting for markdown that I'm used to. It works in the view, so it's fine. Thanks.

Numpy + Intel(R) MKL: preloading libiomp5.so runtime
MKL_VERBOSE Intel(R) MKL 2018.0 Update 1 Product build 20171007 for Intel(R) 64 architecture Intel(R) Advanced Vector Extensions 512 (Intel(R) AVX-512) enabled processors, Lnx 2.40GHz lp64 intel_thread NMICDev:0
MKL_VERBOSE SGEMM(T,N,12,10,8,0x7f7f927b1378,0x1bc2140,8,0x1ba8040,8,0x7f7f927b1380,0x7f7f7400a280,12) 8.93ms CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:40 WDiv:HOST:+0.000
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a link to there - or if you have a support forum. You could also link to the discuss.mxnet.io. And you could link to https://github.com/apache/incubator-mxnet/labels/MKL and https://github.com/apache/incubator-mxnet/labels/MKLDNN

Something like:

Next Steps and Support

3. Download and install [OpenCV 3](http:https://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```. If you want to use MKL blas, you should set ```-DUSE_BLAS=mkl``` when cmake. Typically, you can find the directory in
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to just use MKL, and it didn't work. Looks like mshadow still wants OpenBLAS.

cmake -G "Visual Studio 15 Win64" .. -DUSE_CUDA=0 -DUSE_CUDNN=0 -DUSE_NVRTC=0 -DUSE_OPENCV=1 -DUSE_OPENMP=1 -DUSE_PROFILER=1 -DUSE_BLAS=mkl -DUSE_LAPACK=1 -DUSE_DIST_KVSTORE=0 -DCUDA_ARCH_NAME=All -DUSE_MKLDNN=1 -DCMAKE_BUILD_TYPE=Release
Got this error.
CMake Error at cmake/Modules/FindOpenBLAS.cmake:82 (MESSAGE):
Could not find OpenBLAS
Call Stack (most recent call first):
3rdparty/mshadow/cmake/mshadow.cmake:26 (find_package)
CMakeLists.txt:246 (include)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And this is what you get when you download openblas, and look at the readme. I literally can't even...
openblas-readme

@pengzhao-intel
Copy link
Contributor

@aaronmarkham Thanks for the review and provide lots of very useful feedback.

Because the release 1.3 will be very soon, I suggest merging this doc ASAP to catch it.
Even the doc is not perfect, it is really better than nothing.

I think the only issue left will be resolved by #11148. So, the doc is ready to merge :)

@aaronmarkham
Copy link
Contributor

@pengzhao-intel Yes, if we can get the BLAS steps dialed in, this will be much easier, and you can keep those issues as separate scope. I think that the docs for this part are in pretty good shape.

@pengzhao-intel
Copy link
Contributor

@aaronmarkham agree with you and we will update BLAS step later.

Could you help approve this PR?

@szha
Copy link
Member

szha commented Jul 30, 2018

@xinyu-intel @pengzhao-intel @aaronmarkham I'm merging this to get the updated information onto github first. we will need to incorporate these into the installation instructions in our unified (and now more awesome) installation page that @aaronmarkham put together, before we can declare that mkldnn integration finishes its experimental period.

@szha szha merged commit 2cc5a42 into apache:master Jul 30, 2018
@szha
Copy link
Member

szha commented Jul 30, 2018

could one of you track this item?

@aaronmarkham
Copy link
Contributor

I have it here:
https://issues.apache.org/jira/browse/MXNET-746

@pengzhao-intel
Copy link
Contributor

@szha @aaronmarkham really thanks for your help.

We will track the issue and update the doc.

Feel free to ping us if anything needs to cover.

aaronmarkham added a commit to aaronmarkham/incubator-mxnet that referenced this pull request Aug 7, 2018
* adding param for list of tags to display on website

* using new website display argument for artifact placement in version folder

* adding display logic

* remove restricted setting for testing

* update usage instructions

* reverted Jenkinsfile to use restricted nodes

[MXAPPS-581] Fixes for broken Straight Dope tests. (apache#11923)

* Update relative paths pointing to the data directory to point to the
  correct place in the testing temporary folder.

* Enable the notebooks that were previously broken because of relative
  file paths not pointing to the correct place.

* Move some notebooks we do not plan to test to the whitelist. These
  notebooks are not published in the Straight Dope book.

* Clean-up: Convert print statements to info/warn/error logging
  statements. Add some logging statements for better status.

Disable flaky test: test_spatial_transformer_with_type (apache#11930)

apache#11839

Add linux and macos MKLDNN Building Instruction (apache#11049)

* add linux and macos doc

* update doc

* Update MKL_README.md

* Update MKL_README.md

Add convolution code to verify mkldnn backend

* add homebrew link

* rename to MKLDNN_README

* add mkl verify

* trigger

* trigger

* set mac complier to gcc47

* add VS2017 support experimentally

* improve quality

* improve quality

* modify mac build instruction since prepare_mkldnn.sh has been rm

* trigger

* add some improvement

[MXNET-531] Add download util (apache#11866)

* add changes to example

* place the file to the util

* add retry scheme

* fix the retry logic

* change the DownloadUtil to Util

* Trigger the CI

[MXNET-11241] Avoid use of troublesome cudnnFind() results when grad_req='add' (apache#11338)

* Add tests that fail due to issue 11241

* Fix apache#11241 Conv1D throws CUDNN_STATUS_EXECUTION_FAILED

* Force algo 1 when grad_req==add with large c.  Expand tests.

* Shorten test runtimes.

Improving documentation and error messages for Async distributed training with Gluon (apache#11910)

* Add description about update on kvstore

* add async check for gluon

* only raise error if user set update_on_kvstore

* fix condition

* add async nightly test

* fix case when no kvstore

* add example for trainer creation in doc

[MXNET-641] fix R windows install docs (apache#11805)

* fix R windows install docs

* addressed PR comments

* PR comments

* PR comments

* fixed line wrappings

* fixed line wrappings

a hot fix for mkldnn link (apache#11939)

re-enabling randomized test_l2_normalization (apache#11900)

[MXNET-651] MXNet Model Backwards Compatibility Checker (apache#11626)

* Added MNIST-MLP-Module-API models to check model save and load_checkpoint methods

* Added LENET with Conv2D operator training file

* Added LENET with Conv2d operator inference file

* Added LanguageModelling with RNN training file

* Added LamguageModelling with RNN inference file

* Added hybridized LENET Gluon Model training file

* Added hybridized LENET gluon model inference file

* Added license headers

* Refactored the model and inference files and extracted out duplicate code in a common file

* Added runtime function for executing the MBCC files

* Added JenkinsFile for MBCC to be run as a nightly job

* Added boto3 install for s3 uploads

* Added README for MBCC

* Added license header

* Added more common functions from lm_rnn_gluon_train and inference files into common.py to clean up code

* Added scripts for training models on older versions of MXNet

* Added check for preventing inference script from crashing in case no trained models are found

* Fixed indentation issue

* Replaced Penn Tree Bank Dataset with Sherlock Holmes Dataset

* Fixed indentation issue

* Removed training in models and added smaller models. Now we are simply checking a forward pass in the model with dummy data.

* Updated README

* Fixed indentation error

* Fixed indentation error

* Removed code duplication in the training file

* Added comments for runtime_functions script for training files

* Merged S3 Buckets for storing data and models into one

* Automated the process to fetch MXNet versions from git tags

* Added defensive checks for the case where the data might not be found

* Fixed issue where we were performing inference on state model files

* Replaced print statements with logging ones

* Removed boto install statements and move them into ubuntu_python docker

* Separated training and uploading of models into separate files so that training runs in Docker and upload runs outside Docker

* Fixed pylint warnings

* Updated comments and README

* Removed the venv for training process

* Fixed indentation in the MBCC Jenkins file and also separated out training and inference into two separate stages

* Fixed indendation

* Fixed erroneous single quote

* Added --user flag to check for Jenkins error

* Removed unused methods

* Added force flag in the pip command to install mxnet

* Removed the force-re-install flag

* Changed exit 1 to exit 0

* Added quotes around the shell command

* added packlibs and unpack libs for MXNet builds

* Changed PythonPath from relative to absolute

* Created dedicated bucket with correct permission

* Fix for python path in training

* Changed bucket name to CI bucket

* Added set -ex to the upload shell script

* Now raising an exception if no models are found in the S3 bucket

* Added regex to train models script

* Added check for performing inference only on models trained on same major versions

* Added set -ex flags to shell scripts

* Added multi-version regex checks in training

* Fixed typo in regex

* Now we will train models for all the minor versions for a given major version by traversing the tags

* Added check for validating current_version

[MXNET-531] NeuralStyle Example for Scala (apache#11621)

* add initial neuralstyle and test coverage

* Add two more test and README

* kill comments

* patch on memory leaks fix

* fix formatting issues

* remove redundant files

* disable the Gan example for now

* add ignore method

* add new download scheme to match the changes
XinYao1994 pushed a commit to XinYao1994/incubator-mxnet that referenced this pull request Aug 29, 2018
* add linux and macos doc

* update doc

* Update MKL_README.md

* Update MKL_README.md

Add convolution code to verify mkldnn backend

* add homebrew link

* rename to MKLDNN_README

* add mkl verify

* trigger

* trigger

* set mac complier to gcc47

* add VS2017 support experimentally

* improve quality

* improve quality

* modify mac build instruction since prepare_mkldnn.sh has been rm

* trigger

* add some improvement
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants