Ubuntu18.04 安裝xgboost GPU版配置

CUDA安裝

首先要到英偉達官網下載對應版本cuda工具包,使用GPU需要有cuda。

cuda.png

cuda_install.png

配置好環境變量

1)在~/.bashrc中添加如下

         export PATH = /usr/local/cuda-11.1/bin:$PATH

export LD_LIBRARY_PATH = /usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH

   使環境變量生效

       source  ~/.bashrc

2)配置 /etc/ld.so.conf.d/cuda-11.1.conf

   添加如下內容

      /usr/local/cuda-11.1/lib64

   使庫生效

      sudo ldconfig

termimal 輸入“nvcc --version” 或者“nvcc -V”,顯示如下,代表cuda安裝成功

cuda安裝成功.png

安裝GPU版的xgboost

安裝步驟如下:

  • git clone --recursive https://github.com/dmlc/xgboost
  • cd xgboost
  • mkdir build
  • cd build
  • cmake .. -DUSE_CUDA=ON     -- 會報錯
  • make -4j
  • cd python-package
  • python setup.py install

安裝cmake時會報錯,ubuntu 18.04默認安裝的cmake版本是3.10,xgboost 要求cmake version >=3.13。

解決方法是:

  • 刪除系統中已安裝的cmake

               sudo apt purge cmake

  • 下載cmake 3.13.4的源,也可以是再高點的版本,可以到cmake github 地址選擇

               wget https://github.com/Kitware/CMake/releases/download/v3.13.4/cmake-3.13.4.tar.gz

  • 解壓文件

               tar zxvf cmake-3.13.4.tar.gz

  • 打開文件夾,執行以下命令

               cd cmake-3.13.4

               sudo ./bootstrap

               sudo make

               sudo make install

  • 驗證已安裝的版本是否正確

               cmake --version

測試GPU

在xgboost/tests/benchmark下分別執行

python benchmark_tree.py --tree_method gpu_hist  
python benchmark_tree.py --tree_method hist

發現gpu版運行7秒,cpu版運行282秒,速度提升非常快了。

在實際代碼中,只要添加下面的參數就可以:

 Python example

param['gpu_id'] = 0    # 選擇設備序號(如果有許多設備,則使用哪個GPU) ,該參數默認爲0(CUDA運行時報告的第一個設備)。
param['tree_method'] = 'gpu_hist'  # 等效於XGBoost快速直方圖算法。快得多,並使用更少的內存。注意:在比Pascal架構更早的GPU上運行可能會非常緩慢。等效於XGBoost快速直方圖算法。快得多,並使用更少的內存。注意:在比Pascal架構更早的GPU上運行可能會非常緩慢。

With Scikit-Learn interface

XGBRegressor(tree_method='gpu_hist', gpu_id=0)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章