Ching-Chuan Chen's Blogger

Statistics, Machine Learning and Programming

0%

Build the GPU Version of LightGBM in Windows

這篇主要是紀錄如何在Windows要怎麼去編譯GPU Version的LightGBM

其實官方安裝文件已經寫得非常清楚

我這裡就只是把整個流程可以被自動化而已

事前準備:

  1. 安裝R, Rtools, Python (Recommend Miniconda or Anaconda)
  2. 安裝Git, CMake
  3. 安裝Boost,我自己是下載msvc-14.0-64的版本,打開來安裝即可
  4. 安裝Visual Studio 2017,照著做就好

我把Git跟CMake都加入了PATH裡面,如果不會加PATH,或是不想破壞Windows的PATH,也可以考慮用下面指令把gitcmake命令短暫地可以被access到

1
2
REM 這裡是舉例我安裝的地方,您的安裝位置可能不一樣
set PATH=%PATH%;C:\Program Files\CMake\bin;C:\Program Files\Git\bin

然後就可以開始安裝了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
REM 這裡是先設定BOOST的環境變數
Set BOOST_ROOT=C:\local\boost_1_64_0\
Set BOOST_LIBRARYDIR=C:\local\boost_1_64_0\lib64-msvc-14.0

REM 下載lightGBM,並重新命名
git clone --recursive https://github.com/Microsoft/LightGBM
mv LightGBM LightGBM-20180815
cd LightGBM-20180815

REM 開始編譯
mkdir build
cd build
cmake -DUSE_GPU=1 -DCMAKE_GENERATOR_PLATFORM=x64 ..
cmake --build . --target ALL_BUILD --config Release -- /maxcpucount

REM R安裝
cd ..\R-package
set PATH=%PATH%;C:\Program Files\Microsoft\R Open\R-3.4.4\bin;C:\Rtools\bin;C:\Rtools\mingw_64\bin
Rscript build_package.R
REM 改成用precompiled dll跟GPU
sed -i -e "s/use_precompile <.*/use_precompile <- TRUE/g" src/install.libs.R
sed -i -e "s/use_gpu <.*/use_gpu <- TRUE/g" src/install.libs.R
R CMD INSTALL . --build --no-multiarch

REM python安裝
cd ..\python-package
C:\Miniconda3\Scripts\activate.bat
conda activate myenv
python setup.py install --precompile -O2