anirudhacharya commented on a change in pull request #11805: [MXNET-641] fix R
windows install docs
URL: https://github.com/apache/incubator-mxnet/pull/11805#discussion_r203538051
##########
File path: docs/install/windows_setup.md
##########
@@ -114,81 +114,138 @@ 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/dmlc/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
+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
+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`.
-Run the following commands to install the MXNet dependencies and build the
MXNet R package.
+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
- Rscript -e "install.packages('devtools', repo =
'https://cloud.r-project.org/')"
```
+./R-package/inst
+└── include
+ ├── dmlc
+ ├── mxnet
+ ├── mshadow
+ └── nnvm
+
+```
+6. 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.
+7. Also make sure that Rtools in installed and 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.
+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:
-```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
+```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, few dependencies remains same for both options. You will need the
following:
-To install MXNet R package on a computer with a GPU processor, you need the
following:
+* Install Microsoft Visual Studio 2017 (required by CUDA)
-* Microsoft Visual Studio 2013
+* Install [NVidia CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit)
-* The NVidia CUDA Toolkit
+* Download and install [CuDNN 7](https://developer.nvidia.com/cudnn) (to
provide a Deep Neural Network library)
-* 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
softwares 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 softwares
+1. Clone the MXNet github repo.
```sh
git clone --recursive https://github.com/dmlc/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:
+```
Review comment:
why were these removed -
-cublas64_80.dll
-cudart64_80.dll
-cudnn64_5.dll
-curand64_80.dll
----------------------------------------------------------------
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:
[email protected]
With regards,
Apache Git Services