RTX30을 쓸 때는 Tensorflow, Pytorch 등 cuda를 쓰는 다른 프레임워크들도 잘 작동 안했듯이 LightGBM도 설치할 때 오류가 발생하는 것처럼 보여서 그냥 소스코드에서 직접 빌드해서 쓰기로 했다.
sudo apt update
sudo apt-get install --no-install-recommends git cmake build-essential libboost-dev libboost-system-dev libboost-filesystem-dev
sudo apt install cmake
그리고 CUDA 11.0 이상의 버전이 설치되어 있어야 함
git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
mkdir build
cd build
cmake -DUSE_GPU=1 ..
make -j6
cmake에서 Could NOT find OpenCL (missing: OpenCL_INCLUDE_DIR)
오류가 나면 opencl 경로를 못찾아서 그런 것이므로 옵션으로 추가해준다.
cmake -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/ ..
LightGBM 폴더에 lightgbm
, lib_lightgbm.so
파일이 생성되었다면 빌드 성공
cd ../python-package
conda activate lgbm # conda를 안 쓴다면 그냥 pip3로 해도 될 것같음
python install setup.py --precompile
참고로 GPU 버전으로 설치했다고 GPU에서 연산이 되는게 아니라, parameter에서 device
옵션을 gpu
로 줘야지 GPU에서 연산이 된다.