한줄 요약 : GPU version으로 설치가 안된다면, CUDA Version으로 설치해보자!
환경 : 리눅스(우분투 18.04.5), nvcc : 11.0, CUI 환경(서버환경), anaconda 가상환경 사용
캐글을 진행하다보니, tabular playground(초보자용 캐글)에서 lightGBM을 많이 사용하길래 해당 패키지를 아나콘다 가상환경에 설치하였다.
다만 문제는 CPU 버젼이라 GPU를 사용하지 않아서 아쉬웠다. (CPU Version은 아래와 같은 에러가 발생한다.)그래서 우분투 서버에 간신히 설치하였다.
[LightGBM] [Fatal] GPU Tree Learner was not enabled in this build
Please recompile with CMake option -DUSE_GPU=1
Github 링크 : https://github.com/microsoft/LightGBM
Documentation : https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html#id20
위의 문서를 참고하여 진행하였다. 처음에는 GPU Version으로 설치하려고하는데, cmake 과정에서 CUDA PATH를 아래와 같이 정확히 명시해주었는데,
cmake -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/ ..
아래와 같은 오류가 발생하였다. (관련 Github issue 첨부)
CMake Error at /opt/cmake-3.2.2-Linux-x86_64/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find OpenCL (missing: OpenCL_LIBRARY OpenCL_INCLUDE_DIR)
Call Stack (most recent call first):
/opt/cmake-3.2.2-Linux-x86_64/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE)
/opt/cmake-3.2.2-Linux-x86_64/share/cmake-3.2/Modules/FindOpenCL.cmake:128 (find_package_handle_standard_args)
CMakeLists.txt:39 (find_package)
https://github.com/Microsoft/LightGBM/issues/405
분명 명시해주었는데 뭐가문제이지 생각해보다가, 기존에 pytorch나 tensorflow로 진행했을 때 Cuda로 진행했었는데, CUDA version도 LightGBM설치에 있었는데,, GPU version이랑 Cuda Version이 뭐가 다르지? 생각했는데, 자세히는 알아보지 않았지만 OpenCL을 사용하냐 cuda를 사용하냐 차이인듯하다. (아시는분은 댓글로 설명해주시면 감사하겠습니다:) )
그래서 CUDA VERSION으로 설치를 시도해보았다. (211116기준 Experimental이라고 적혀있다.)
https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html#id20
DUSE_CUDA=1 옵션을 설치하려고 하다보니 CMake 버젼이 낮다는 에러가 발생해서 CMake도 버젼 업그레이드를 진행했다. (아래의 링크를 참조했다.)
apt-get을 활용한 apt-get install -only-upgrade cmake (또는 apt-get upgrade) 를 활용해서 업그레이드를 진행할 수 없다!
하는 과정중에
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR)
openssl development와 관련된 문제가 발생한다면, apt-get install libssl-dev (또는 openssl-dev)를 설치해서 해결하자.
여기에는 명시되어있지 않지만, cmake 삭제하고 업그레이드고자하면, 빌드과정에서 마지막 커맨드인 sudo make install 전에 apt-get purge cmake(삭제 명령어)를 하고 하자.
그 이후 GPU를 잘 활용한다. (활용하는 것이 36~40%대인 것은 아쉬운 점이다..)
'프로그래밍 > python' 카테고리의 다른 글
knockknock asyncio 안쓰고 쓰기 (0) | 2025.01.01 |
---|---|
[python] 파이썬으로 gif / 영상 만들기 (2) | 2023.08.20 |
[패키지] pandas-profiling 아나콘다 설치 문제 (0) | 2021.11.16 |
10950번 A+B -3 with python 코드 (0) | 2018.09.27 |