This is an automated email from the ASF dual-hosted git repository.

the pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git


The following commit(s) were added to refs/heads/master by this push:
     new 815f42d  [MXNET-641] fix R windows install docs (#11805)
815f42d is described below

commit 815f42d0a425acd37b025aa6ee14cb31af052f9f
Author: Ankit Khedia <[email protected]>
AuthorDate: Mon Jul 30 16:16:14 2018 -0700

    [MXNET-641] fix R windows install docs (#11805)
    
    * fix R windows install docs
    
    * addressed PR comments
    
    * PR comments
    
    * PR comments
    
    * fixed line wrappings
    
    * fixed line wrappings
---
 docs/install/windows_setup.md | 176 ++++++++++++++++++++++++++++++++----------
 1 file changed, 134 insertions(+), 42 deletions(-)

diff --git a/docs/install/windows_setup.md b/docs/install/windows_setup.md
index 8a2b1c1..9d03474 100755
--- a/docs/install/windows_setup.md
+++ b/docs/install/windows_setup.md
@@ -62,7 +62,7 @@ Next, we install ```graphviz``` library that we use for 
visualizing network grap
 
 We have installed MXNet core library. Next, we will install MXNet interface 
package for programming language of your choice:
 - [Python](#install-the-mxnet-package-for-python)
-- [R](#install-mxnet-for-r)
+- [R](#install-mxnet-package-for-r)
 - [Julia](#install-the-mxnet-package-for-julia)
 - **Scala** is not yet available for Windows
 
@@ -91,7 +91,7 @@ Done! We have installed MXNet with Python interface. Run 
below commands to verif
 ```
 We actually did a small tensor computation using MXNet! You are all set with 
MXNet on your Windows machine.
 
-## Install MXNet for R
+## Install MXNet Package for R
 MXNet for R is available for both CPUs and GPUs.
 
 ### Installing MXNet on a Computer with a CPU Processor
@@ -101,7 +101,7 @@ To install MXNet on a computer with a CPU processor, choose 
from two options:
 * Use the prebuilt binary package
 * Build the library from source code
 
-#### Installing MXNet with the Prebuilt Binary Package
+#### Installing MXNet with the Prebuilt Binary Package(CPU)
 For Windows users, MXNet provides prebuilt binary packages.
 You can install the package directly in the R console.
 
@@ -114,81 +114,173 @@ For CPU-only package:
   install.packages("mxnet")
 ```
 
-For GPU-enabled package:
+#### Building MXNet from Source Code(CPU)
+1. Clone the MXNet github repo.
 
-```r
-  cran <- getOption("repos")
-  cran["dmlc"] <- 
"https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/GPU";
-  options(repos = cran)
-  install.packages("mxnet")
+```sh
+git clone --recursive https://github.com/apache/incubator-mxnet
 ```
 
-#### Building MXNet from Source Code
+The `--recursive` is to clone all the submodules used by MXNet. You will be 
editing the ```"/mxnet/R-package"``` folder.
+
+2. Download prebuilt GPU-enabled MXNet libraries for Windows from [Windows 
release](https://github.com/yajiedesign/mxnet/releases). You will need 
`mxnet_x64_vc14_cpu.7z` and `prebuildbase_win10_x64_vc14.7z` where X stands for 
your CUDA toolkit version
 
-Run the following commands to install the MXNet dependencies and build the 
MXNet R package.
+3. Create a folder called ```R-package/inst/libs/x64```. MXNet supports only 
64-bit operating systems, so you need the x64 folder.
 
-```r
-  Rscript -e "install.packages('devtools', repo = 
'https://cloud.r-project.org/')"
+4. Copy the following shared libraries (.dll files) into the 
```R-package/inst/libs/x64``` folder:
 ```
+libgcc_s_seh-1.dll
+libgfortran-3.dll
+libmxnet.dll
+libmxnet.lib
+libopenblas.dll
+libquadmath-0.dll
+mxnet.dll
+unzip.exe
+unzip32.dll
+vcomp140.dll
+wget.exe
+```
+These dlls can be found in `prebuildbase_win10_x64_vc14/3rdparty`, 
`mxnet_x64_vc14_cpu/build`, `mxnet_x64_vc14_cpu/lib`.
 
-```bash
-  cd R-package
-  Rscript -e "library(devtools); library(methods); 
options(repos=c(CRAN='https://cloud.r-project.org/')); 
install_deps(dependencies = TRUE)"
-  cd ..
-  make rpkg
+5. Copy the header files from `dmlc`, `mxnet`, `mxshadow` and `nnvm` from 
mxnet_x64_vc14_cpu/include and mxnet_x64_vc14_cpu/nvnm/include into 
`./R-package/inst/include`. It should look like:
+
+```
+./R-package/inst
+└── include
+    ├── dmlc
+    ├── mxnet
+    ├── mshadow
+    └── nnvm 
+    
+```
+6. Make sure that R executable is added to your ```PATH``` in the environment 
variables. Running the ```where R``` command at the command prompt should 
return the location.
+7. Also make sure that Rtools is installed and the executable is added to your 
```PATH``` in the environment variables.
+8. Temporary patch - im2rec currently results in crashes during the build. 
Remove the im2rec.h and im2rec.cc files in R-package/src/ from cloned 
repository and comment out the two im2rec lines in 
[R-package/src/mxnet.cc](https://github.com/apache/incubator-mxnet/blob/master/R-package/src/mxnet.cc)
 as shown below.
+```bat
+#include "./kvstore.h"
+#include "./export.h"
+//#include "./im2rec.h"
+......
+......
+  DataIterCreateFunction::InitRcppModule();
+  KVStore::InitRcppModule();
+  Exporter::InitRcppModule();
+//  IM2REC::InitRcppModule();
+}
+
+```
+
+9. Now open the Windows CMD with admin rights and change the directory to the 
`mxnet` folder(cloned repository). Then use the following commands
+to build R package:
+
+```bat
+echo import(Rcpp) > R-package\NAMESPACE
+echo import(methods) >> R-package\NAMESPACE
+Rscript -e "install.packages('devtools', repos = 
'https://cloud.r-project.org')"
+cd R-package
+Rscript -e "library(devtools); library(methods); 
options(repos=c(CRAN='https://cloud.r-project.org')); install_deps(dependencies 
= TRUE)"
+cd ..
+
+R CMD INSTALL --no-multiarch R-package
+
+Rscript -e "require(mxnet); mxnet:::mxnet.export('R-package')"
+rm R-package/NAMESPACE
+Rscript -e "require(devtools); install_version('roxygen2', version = '5.0.1', 
repos = 'https://cloud.r-project.org/', quiet = TRUE)"
+Rscript -e "require(roxygen2); roxygen2::roxygenise('R-package')"
+
+R CMD INSTALL --build --no-multiarch R-package
 ```
 
+
 ### Installing MXNet on a Computer with a GPU Processor
+To install MXNet on a computer with a GPU processor, choose from two options:
+
+* Use the prebuilt binary package
+* Build the library from source code
+
+However, a few dependencies remain for both options.  You will need the 
following:
+* Install 
[Nvidia-drivers](http://www.nvidia.com/Download/index.aspx?lang=en-us) if not 
installed. Latest driver based on your system configuration is recommended. 
 
-To install MXNet R package on a computer with a GPU processor, you need the 
following:
+* Install [Microsoft Visual 
Studio](https://visualstudio.microsoft.com/downloads/) (VS2015 or VS2017 is 
required by CUDA)
 
-* Microsoft Visual Studio 2013
+* Install  [NVidia CUDA 
Toolkit](https://developer.nvidia.com/cuda-toolkit)(cu92 is recommended though 
we support cu80, cu90, cu91 and cu92)
 
-* The NVidia CUDA Toolkit
+* Download and install [CuDNN](https://developer.nvidia.com/cudnn) (to provide 
a Deep Neural Network library). Latest version recommended.
 
-* The MXNet package
+Note: A pre-requisite to above softwares is 
[Nvidia-drivers](http://www.nvidia.com/Download/index.aspx?lang=en-us) which we 
assume is installed.
 
-* CuDNN (to provide a Deep Neural Network library)
+#### Installing MXNet with the Prebuilt Binary Package(GPU)
+For Windows users, MXNet provides prebuilt binary packages.
+You can install the package directly in the R console after you have the above 
software installed.
 
-To install the required dependencies and install MXNet for R:
+For GPU package:
 
-1. Install the [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit). The 
CUDA Toolkit depends on Visual Studio. To check whether your GPU is compatible 
with the CUDA Toolkit and for information on installing it, see NVidia's [CUDA 
Installation 
Guide](http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/).
-3. Clone the MXNet github repo.
+```r
+  cran <- getOption("repos")
+  cran["dmlc"] <- 
"https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/GPU/cuX";
+  options(repos = cran)
+  install.packages("mxnet")
+```
+Change X to 80,90,91 or 92 based on your CUDA toolkit version. Currently, 
MXNet supports these versions of CUDA.
+#### Building MXNet from Source Code(GPU)
+After you have installed above software, continue with the following steps to 
build MXNet-R: 
+1. Clone the MXNet github repo.
 
 ```sh
-git clone --recursive https://github.com/dmlc/mxnet
+git clone --recursive https://github.com/apache/incubator-mxnet
 ```
 
 The `--recursive` is to clone all the submodules used by MXNet. You will be 
editing the ```"/mxnet/R-package"``` folder.
-4. Download prebuilt GPU-enabled MXNet libraries for Windows from 
https://github.com/yajiedesign/mxnet/releases. You will need 
`mxnet_x64_vc14_gpu.7z` and `prebuildbase_win10_x64_vc14.7z`.
-5. Download and install [CuDNN](https://developer.nvidia.com/cudnn).
-6. Create a folder called ```R-package/inst/libs/x64```. MXNet supports only 
64-bit operating systems, so you need the x64 folder.
-7. Copy the following shared libraries (.dll files) into the 
```R-package/inst/libs/x64``` folder:
-```
-cublas64_80.dll
-cudart64_80.dll
-cudnn64_5.dll
-curand64_80.dll
+
+2. Download prebuilt GPU-enabled MXNet libraries for Windows from 
https://github.com/yajiedesign/mxnet/releases. You will need 
`mxnet_x64_vc14_gpu_cuX.7z` and `prebuildbase_win10_x64_vc14.7z` where X stands 
for your CUDA toolkit version
+
+3. Create a folder called ```R-package/inst/libs/x64```. MXNet supports only 
64-bit operating systems, so you need the x64 folder.
+
+4. Copy the following shared libraries (.dll files) into the 
```R-package/inst/libs/x64``` folder:
+```
 libgcc_s_seh-1.dll
 libgfortran-3.dll
 libmxnet.dll
 libmxnet.lib
 libopenblas.dll
 libquadmath-0.dll
-nvrtc64_80.dll
+mxnet.dll
+unzip.exe
+unzip32.dll
+vcomp140.dll
+wget.exe
 ```
-These dlls can be found in `prebuildbase_win10_x64_vc14/3rdparty/cudart`, 
`prebuildbase_win10_x64_vc14/3rdparty/openblas/bin`, 
`mxnet_x64_vc14_gpu/build`, `mxnet_x64_vc14_gpu/lib` and the `cuDNN` downloaded 
from NVIDIA.
-8. Copy the header files from `dmlc`, `mxnet` and `nnvm` into 
`./R-package/inst/include`. It should look like:
+These dlls can be found in `prebuildbase_win10_x64_vc14/3rdparty`, 
`mxnet_x64_vc14_gpu_cuX/build`, `mxnet_x64_vc14_gpu_cuX/lib`.
+
+5. Copy the header files from `dmlc`, `mxnet`, `mxshadow` and `nnvm` from 
mxnet_x64_vc14_gpuX/include and mxnet_x64_vc14_gpuX/nvnm/include into 
`./R-package/inst/include`. It should look like:
 
 ```
 ./R-package/inst
 └── include
     ├── dmlc
     ├── mxnet
-    └── nnvm
+    ├── mshadow
+    └── nnvm 
+    
+```
+6. Make sure that R executable is added to your ```PATH``` in the environment 
variables. Running the ```where R``` command at the command prompt should 
return the location.
+7. Also make sure that Rtools is installed and the executable is added to your 
```PATH``` in the environment variables.
+8. Temporary patch - im2rec currently results in crashes during the build. 
Remove the im2rec.h and im2rec.cc files in R-package/src/ from cloned 
repository and comment out the two im2rec lines in 
[R-package/src/mxnet.cc](https://github.com/apache/incubator-mxnet/blob/master/R-package/src/mxnet.cc)
 as shown below.
+```bat
+#include "./kvstore.h"
+#include "./export.h"
+//#include "./im2rec.h"
+......
+......
+  DataIterCreateFunction::InitRcppModule();
+  KVStore::InitRcppModule();
+  Exporter::InitRcppModule();
+//  IM2REC::InitRcppModule();
+}
+
 ```
-9. Make sure that R is added to your ```PATH``` in the environment variables. 
Running the ```where R``` command at the command prompt should return the 
location.
-10. Now open the Windows CMD and change the directory to the `mxnet` folder. 
Then use the following commands
+9. Now open the Windows CMD with admin rights and change the directory to the 
`mxnet` folder(cloned repository). Then use the following commands
 to build R package:
 
 ```bat

Reply via email to