Win10编译gpu mxnet

安装CUDA和cudnn后,开始编译mxnet。

1. 下载源码

git clone --recursive https://github.com/apache/incubator-mxnet mxnet

或者用代理:

git clone --recursive https://g.0x6.xyz/https://github.com/apache/incubator-mxnet mxnet

如果子模块下载慢,修改.gitmodules文件,使子模块用代理:

[submodule "3rdparty/dmlc-core"]
	path = 3rdparty/dmlc-core
	url = https://g.0x6.xyz/https://github.com/dmlc/dmlc-core.git
[submodule "3rdparty/ps-lite"]
	path = 3rdparty/ps-lite
	url = https://g.0x6.xyz/https://github.com/dmlc/ps-lite
[submodule "3rdparty/dlpack"]
	path = 3rdparty/dlpack
	url = https://g.0x6.xyz/https://github.com/dmlc/dlpack
[submodule "3rdparty/openmp"]
	path = 3rdparty/openmp
	url = https://g.0x6.xyz/https://github.com/llvm-mirror/openmp
[submodule "3rdparty/googletest"]
	path = 3rdparty/googletest
	url = https://g.0x6.xyz/https://github.com/google/googletest.git
[submodule "3rdparty/mkldnn"]
	path = 3rdparty/mkldnn
	url = https://g.0x6.xyz/https://github.com/oneapi-src/oneDNN.git
[submodule "3rdparty/tvm"]
	path = 3rdparty/tvm
	url = https://g.0x6.xyz/https://github.com/apache/incubator-tvm.git
[submodule "3rdparty/onnx-tensorrt"]
	path = 3rdparty/onnx-tensorrt
	url = https://g.0x6.xyz/https://github.com/onnx/onnx-tensorrt.git
[submodule "3rdparty/nvidia_cub"]
	path = 3rdparty/nvidia_cub
	url = https://g.0x6.xyz/https://github.com/NVlabs/cub.git
[submodule "3rdparty/libzip"]
	path = 3rdparty/libzip
	url = https://g.0x6.xyz/https://github.com/nih-at/libzip.git
[submodule "3rdparty/intgemm"]
	path = 3rdparty/intgemm
	url = https://g.0x6.xyz/https://github.com/kpu/intgemm

2. 安装依赖

(1)用Chocolatey:

choco install python git 7zip cmake ninja opencv

(2)编译OpenBLAS:

下载源码(如果用代理,同上):git clone --recursive https://github.com/xianyi/OpenBLAS.git

进入源码目录: cd OpenBLAS

在Anaconda Command Prompt环境:

安装OpenBLAS的依赖

conda update -n base conda
conda config --add channels conda-forge
conda install -y cmake flang clangdev perl libflang ninja

打开vs2019环境

"c:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Auxiliary/Build/vcvars64.bat"

生成vs2019工程

set "LIB=%CONDA_PREFIX%\Library\lib;%LIB%"
set "CPATH=%CONDA_PREFIX%\Library\include;%CPATH%"
mkdir build
cd build
cmake .. -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl -DCMAKE_Fortran_COMPILER=flang -DBUILD_WITHOUT_LAPACK=no -DNOFORTRAN=0 -DDYNAMIC_ARCH=ON -DCMAKE_BUILD_TYPE=Release

编译构建

cmake --build . --config Release

从 https://github.com/xianyi/OpenBLAS/releases 下载最新的OpenBLAS 64位zip包,将包中的lib和include目录拷贝到上面的build目录。

3. 配置环境

CUDA_PATH:CUDA的安装路径

OpenBLAS_HOME:OpenBLAS的build路径

OpenCV_DIR:opencv路径

4. 构建

用cmake-gui配置(configure)、生成(generate)vs2019工程,编译vs2019的release版。

参考:

https://mxnet.apache.org/get_started/build_from_source

https://github.com/xianyi/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio

https://www.bilibili.com/read/cv8442044

https://github.com/apache/incubator-mxnet/issues/19897

猜你喜欢

转载自blog.csdn.net/eidolon_foot/article/details/113841354