Computer Science/Linux

[Linux] LightGBM-GPU 버전 환경설정

EmjayAhn 2022. 11. 30. 11:28

LightGBM GPU 버전 Install의 경우,

OpenCL 기반의 LightGBM-GPU와 CUDA 기반의 LightGBM-CUDA 버전이 있다.

OpenCL Version Documentation

Installation Guide - LightGBM 3.3.2 documentation

CUDA Version Documentation

Installation Guide - LightGBM 3.3.2 documentation

현재 환경은 NvidiaA100 GPU의 CUDA 환경이 미리 셋팅 되어 있어, 기존 LightGBM-GPU 버전이 아닌, CUDA 버전을 설치하려고 한다.

1. 환경변수 설정

CUDA 환경을 설정하면, CUDA의 환경변수를 각 계정별로 셋팅 해주어야 한다.

$ vi ~/.bashrc

# .bashrc에 다음의 환경변수를 추가해준다.
# CUDA SETTING
export PATH=$PATH:/usr/local/cuda-11.6/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64
export CUDADIR=/usr/local/cuda-11.6

# 저장후 반드시 실행
$ source .bashrc

2. Download LightGBM

git clone --recursive <https://github.com/microsoft/LightGBM

3. Build

cd LightGBM
mkdir build
cd build
cmake -DUSE_CUDA=1 ..
make -j4

4. Install

cd ../python-package
python3 setup.py install

5. Troubleshooting

  • 지금 환경의 경우, root에 python이 설치 되어있고, 환경변수를 설정해 각 계정 별로 python 과 pip (python package manager) 가 독립되어 있는 환경이다.
  • 위의 python3 [setup.py](<http://setup.py>) install 을 하는 경우, 다음과 같은 에러가 난다.
  • 이는 root에 있는 site-packages에 현재 lightgbm 을 설치하는데 있어, permission denied : 권한 설정 에러이다.
    • 회사의 python은 절대 루트에서 작업하지 않는 원칙으로 환경을 설정했고, 이 에러는 당연하다.
    • 따라서 해당 계정 패키지 매니저에 위 과정에서 compile 된 lightgbm을 설치해 주면 된다.
  • 위 [setup.py](<http://setup.py>) 실행을 통해 컴파일된 파일을 이용하여, 계정 패키지 매니저에 설치해준다.
  • python3 -m pip install --install-option=--precompile --user .

6. 정상 설치 확인