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コマンドプロンプト環境の場合:
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から 最新のOpenBLAS64ビットzipパッケージを ダウンロードし、libとパッケージ内のインクルードディレクトリを上記のビルドディレクトリにコピーします。
3.環境を構成します
CUDA_PATH:CUDAインストールパス
OpenBLAS_HOME:OpenBLASビルドパス
OpenCV_DIR:opencvパス
4.ビルド
cmake-guiを使用して、vs2019プロジェクトを構成(構成)、生成(生成)し、vs2019のリリースバージョンをコンパイルします。
参照:
https://mxnet.apache.org/get_started/build_from_source
https://github.com/xianyi/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio