2023/12/29

LightGBM Version 4.2.0のビルド

環境変数 OMP_NUM_THREADS にCPUのコア数を設定する。Intel Core i7-8700使ってますので6に設定する。これがそもそものエラーな気がするんですが、こんなの前バージョンのビルドで指定した記憶が...ちょいちょい記憶が飛ぶ事が有るので断言は出来ない。これしたけどビルド出来ないのでちょっとお手上げ状態。

前回ビルドした記憶が既に飛んでいて、なんで最新ビルドが出来ないのか苦しんでます。取敢えず初心に帰って本家の説明を参考に環境を整える。GPUの助けを受けて少しでも高速に学習出来れば助かるのでGPUバージョンのビルドに挑戦。NVIDIA GeForce GTX 1050 Tiと若干しょぼいGPUですが多少は足しになるかなぁっとね。

  • Git for Windows(64bit) Ver2.43.0
  • CMake Ver3.28.1
  • CUDA Toolkit 12.3
  • Boost C++ Libraries Ver1.84.0

1つ目は問題なくダウンロード出来たんですが、3つ目と4つ目は普段使っているEdgeで何度やってもダウンロード出来なくて...はい、またMicrosoftを疑ってChromeで試すとあっさりとダウンロード開始してくれました。ただ、ここで問題はCUDAの方です。これ3.1GBと巨大なものです。あっ、インストールタイプにローカルを選択したからなんですが、貧相なmineoの深夜フリーの時間まで待って行ってますが終了まで4時間だと😖 今朝まで夜勤で勤務して本年の仕事納めで寝ずな状態で待つのは無理。

どうせ寝て待つならと本家の説明にある最初のコマンドも実行して寝ようかと思う。

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

ソースのGitHubからのダウンロードだと思いスタートさせたが意外と早く終わった。

cd LightGBM
mkdir build
cd build

ビルドするフォルダー作成して、明日起床後に

cmake -A x64 -DUSE_GPU=1 -DBOOST_ROOT=C:/local/boost_1_84_0 -DBOOST_LIBRARYDIR=C:/local/boost_1_84_0/lib64-msvc-14.3 -DOpenCL_LIBRARY="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.3/lib/x64/OpenCL.lib" -DOpenCL_INCLUDE_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.3/include" ..

としてから

cmake --build . --target ALL_BUILD --config Release

でビルド完了する筈。

追記 2023.12.30 10:18
なんとかビルド完了して、いざ学習!って普通にLightGBMのトライアルで学習アプリが吹っ飛んで消えます😖何の表示もないので手掛かり無しで諦めるしかないかも。ビルドで何らかの問題があったのかもですが、特に目立ったエラーとかは無いものの、警告的なものは何となく出てた気はするので、その辺りを対処する必要があるのかも。

追記 2023.12.30 11:22
ビルドの手順をやり直しながら眺めてました。1回目のcmakeの終わりの方でBoostの処理が行われますが、ここで

-- Found Boost: C:/local/boost_1_84_0 (found suitable version "1.84.0", minimum required is "1.56.0") found components: filesystem system
-- Performing Test MM_PREFETCH
-- Performing Test MM_PREFETCH - Failed
-- Performing Test MM_MALLOC
-- Performing Test MM_MALLOC - Failed
-- Looking for inet_pton
-- Looking for inet_pton - found
-- Configuring done (8.0s)
-- Generating done (0.0s)
-- Build files have been written to: E:/My Project/LightGBM-4.2.0/build

って事でMM_PREFETCHとMM_MALLOCがFailedになってるのは問題ですね😱

で、ログを遡ってみると、

CMake Warning at C:/Program Files/CMake/share/cmake-3.28/Modules/FindBoost.cmake:1398 (message):
  New Boost version may have incorrect or missing dependencies and imported

となっている箇所が2つある。ならば試しにVer1.81.0をダウンロードして試すとこれは解決したけど、MM_PREFETCHとMM_MALLOCの問題は解決せず。

0 件のコメント:

コメントを投稿