DEVGRU

プログラミングと競馬予想について書きます

Ubuntu 20.04 (on Google Cloud Platform Compute Engine) で GPU サポートが有効な LightGBM をビルドする

サーバを作り直すときに調べたのでメモがてら。

公式に書き方は載っているが、記述が古いので掲題に特化した方法を載せる。

lightgbm.readthedocs.io

前提として、Compute Engine で GPU が有効なインスタンスがあり、そこに pyenv でPython 3.8.6がインストールされているものとする。

CUDA のインストール

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda-repo-ubuntu2004-11-2-local_11.2.0-460.27.04-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-2-local_11.2.0-460.27.04-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-2-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

ドライバーのインストール

必要なパッケージをインストールする

sudo apt update
sudo apt install --no-install-recommends nvidia-driver-390 nvidia-headless-390 nvidia-opencl-dev opencl-headers

以下のコマンドでインスタンスを再起動する。 SSH コネクションが切断されるが、30秒程度待つと再接続できるようになる。

sudo init 6

ビルドツールチェインのインストール

sudo apt-get install --no-install-recommends git cmake build-essential libboost-dev libboost-system-dev libboost-filesystem-dev

ソースコードのチェックアウトとビルド

git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
mkdir build ; cd build
cmake -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/ ..
make -j$(nproc)

Python パッケージのビルドとインストール

cd ../python-package
pip install setuptools numpy scipy scikit-learn wheel -U
python setup.py install --gpu

以上で、GPUが有効な lightgbm パッケージをインストールすることができた。

カテゴリ変数の数に影響があったりするので、気をつけること。