公開日:2022年9月13日
Introduction
開発中のMXNet2.0をsourceからbuildしました。手順を記録として残しておきます。
Environment
Ubuntu 20.04 on WSL2 (Windows 11) VERSION="20.04.4 LTS (Focal Fossa)"
Preparation
Install CUDA
公式通りに行いました。wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda-repo-wsl-ubuntu-11-7-local_11.7.1-1_amd64.deb sudo dpkg -i cuda-repo-wsl-ubuntu-11-7-local_11.7.1-1_amd64.deb sudo cp /var/cuda-repo-wsl-ubuntu-11-7-local/cuda-96193861-keyring.gpg /usr/share/keyrings/ sudo apt update sudo apt install cuda
最後にこの1行を実行
sudo ln -s /usr/lib/wsl/lib/libcuda.so.1 /usr/local/cuda/lib64/libcuda.so
Install cuDNN
NVIDIA公式から「cudnn-local-repo-ubuntu2004-8.5.0.96_1.0-1_amd64.deb」をダウンロードしてからインストールしました。(ダウンロードにはアカウントが必要です)sudo dpkg -i cudnn-local-repo-ubuntu2004-8.5.0.96_1.0-1_amd64.deb sudo cp /var/cudnn-local-repo-ubuntu2004-8.5.0.96/cudnn-local-0579404E-keyring.gpg /usr/share/keyrings/ sudo apt update sudo apt install libcudnn8 libcudnn8-dev
Install others
sudo apt install build-essential ninja-build ccache libopenblas-dev libopencv-dev cmake
build-essential==12.8 ninja-build==1.10.0 ccache==3.7.7 libopenblas-dev==0.3.8 libopencv-dev==4.2.0 cmake==3.16.3
Download MXNet sources
git clone --recursive https://github.com/apache/incubator-mxnet.git mxnet cd mxnet
Build
Copy config.cmake
cp config/linux_gpu.cmake config.cmake
Build
mkdir build cd build cmake .. cmake --build .
Install MNXet
リポジトリ内で以下を実行。pip install -e ./python
Check installation
>>> from mxnet.runtime import feature_list >>> feature_list() [✔ CUDA, ✔ CUDNN, ✖ NCCL, ✖ TENSORRT, ✖ CUTENSOR, ✔ CPU_SSE, ✔ CPU_SSE2, ✔ CPU_SSE3, ✔ CPU_SSE4_1, ✔ CPU_SSE4_2, ✖ CPU_SSE4A, ✔ CPU_AVX, ✖ CPU_AVX2, ✔ OPENMP, ✖ SSE, ✔ F16C, ✖ JEMALLOC, ✔ BLAS_OPEN, ✖ BLAS_ATLAS, ✖ BLAS_MKL, ✖ BLAS_APPLE, ✔ LAPACK, ✔ ONEDNN, ✔ OPENCV, ✖ DIST_KVSTORE, ✔ INT64_TENSOR_SIZE, ✔ SIGNAL_HANDLER, ✖ DEBUG, ✖ TVM_OP]