# 在Windows作業系統的R軟體安裝XGboost套件GPU版本 2018/08/08 指導教授: 中山大學財管系 王昭文 教授 文章撰寫: 中山大學財管系 蘇彥庭 研究助理 感謝中山大學財管系 蘇柏文同學提供電腦環境協助測試 ### 前言 本篇主要講解如何在Windows作業系統的R軟體上,安裝XGboost套件GPU版本,主要參考的文章為XGboost官網的[安裝指南](https://xgboost.readthedocs.io/en/latest/build.html)說明。 --- ### 安裝環境及設定 1. 顯示卡需為Nvidia,並安裝[Cuda](https://developer.nvidia.com/cuda-downloads),版本要8.0以上。 2. 安裝[Rtools](https://cran.r-project.org/bin/windows/Rtools/index.html),依R的版本對應安裝,並在系統PATH下添加3個路徑: * C:\Rtools\bin * C:\Rtools\mingw_64\bin * C:\Rtools\mingw_32\bin * 注意: mingw_64排序一定要比mingw_32優先。 3. 安裝[Visual Studio 2015](https://visualstudio.microsoft.com/zh-hant/vs/older-downloads/),要記得勾選安裝C++編譯器 (`Visual C++`) 。 4. 安裝[Windows SDK version 8.1](https://developer.microsoft.com/zh-tw/windows/downloads/sdk-archive)及[Windows SDK version 10](https://developer.microsoft.com/zh-tw/windows/downloads/sdk-archive)。 5. 安裝[Cmake](https://cmake.org/download/),最新的安裝版本(Windows win64-x64 Installer),安裝時記得勾選選項將Cmake加入到系統PATH。 6. 安裝[git](https://git-scm.com/download/win)。 7. 在R中安裝devtools套件(R程式碼:`install.packages("devtools")`)。 --- ### 安裝步驟 1. 透過git下載XGboost套件,開啟Windoes命令提示字元(cmd),**依序**輸入下列指令: ``` git clone --recursive https://github.com/dmlc/xgboost cd xgboost git submodule init git submodule update ``` 2. 安裝XGboost CPU版本,開啟R軟體,執行下列程式碼進行安裝。 ``` setwd('[存放剛下載XGboost套件的資料夾位置]/xgboost/R-package/') install.packages('.', repos = NULL, type="source") ``` * 備註:存放剛下載XGboost套件的資料夾位置,通常會是 `C:/Users/[使用者名稱]/xgboost/R-package/` 3. 安裝XGboost GPU版本 ``` cd C:/Users/[使用者名稱]/xgboost mkdir build cd build cmake .. -G"Visual Studio 14 2015 Win64" -DUSE_CUDA=ON -DR_LIB=ON -DLIBR_EXECUTABLE="C:/Program Files/R/R-3.5.0/bin/x64/R.exe" ``` 要注意的地方是: cmake指令的`DLIBR_EXECUTABLE`參數,後面接的是R軟體的位置,需要依照實際安裝版本進行調整。 在執行cmake指令完畢後,命令提示字元畫面呈現的倒數三行應為: ``` -- Configuring done -- Generating done -- Build files have been written to: [存放下載XGboost套件的資料夾位置]/xgboost/build ``` 若沒有出現上面三行,跑出error字眼,代表可能有部分軟體沒裝到或設定沒處理好,需要重新檢查。 若有錯誤,可至`[存放下載XGboost套件的資料夾位置]\xgboost\build\CMakeFiles\CMakeError.txt`,檢查錯誤來源。在`CMakeError.txt`,可能發生的錯誤有: * 找不到: "CL.exe"。系統找不到指定的檔案 這個問題代表電腦沒有安裝到C++編譯器,需要執行Visual Studio 2015安裝檔案進行安裝。 * 無法執行 'rc.exe' 這個問題的解決方式是至`C:\Program Files (x86)\Windows Kits\8.1\bin\x64`,將rc.exe及rcdll.dll檔案複製到`C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin`路徑底下,即可解決此問題。 * 錯誤訊息顯示:`Do you have Rtools installed with its MinGW's bin/ in PATH?` 未將下列3個路徑加入至系統PATH * C:\Rtools\bin * C:\Rtools\mingw_64\bin * C:\Rtools\mingw_32\bin 若上述設定皆沒問題,就可以繼續執行以下指令,開始編譯XGboost GPU版本。 ``` cmake --build . --target install --config Release ``` 編譯的過程需要花費一段時間(大約10至20分鐘),結束後命令提示字元畫面會有警告和錯誤數量。警告數量不用理會,但若有錯誤數量,代表編譯失敗,需要回頭去檢查是否有軟體沒安裝到或設定沒處理好。 --- ### 實際測試 測試GPU速度的代碼參考[XGboost官網](https://github.com/dmlc/xgboost/blob/master/R-package/demo/gpu_accelerated.R): 以上述代碼進行測試,GPU為Nvidia GTX 1080 Ti大概比CPU快約2.6倍左右。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up