昨日になりますが、llama.cppを素の状態で動かして動作確認したかったのでmakeをかけてみました。
その途中で別のコンソールを立ち上げて接続すると、Ubuntuのaptのアップデートが20件以上あるというメッセージが…。とりあえず見なかったことにして作業を進めていたのですが…
正直cpuのみとsyclとどちらがいいか悩んだんですよ…で、結局両方作ることに(笑)
cpu単独の方は、問題は無かったのもの、sycl版でmakeをかけていたところ23%表示辺りでなんか重くなったのでhtopで様子を見てすべてのコアが埋まっているのですぐにhtopを終了させたんです。で、少し放置してても23%から一向に進まない…と思ってターミナルを操作しようとすると、反応が全くないw
今回は画面が近くにあったので画面を見てみると「OOM」とかなんか3個ぐらいプロセスを終了させたよと言う内容が出ていて、これはいつのものだろう?とおもってUSBのキーボードもつけてみたのですが…USBも認識できない状態になっていたようで操作できず…orz
でしばらくするとさらに強制終了メッセージがでたのですが…一向に復帰できなさそうなので、電源ボタンを長押しして強制シャットダウン。
再起動後、とりあえず、aptで更新しましたが、予想通りと言うか、intelドライバ系のものが一気に更新されました。
そして再びmakeです。cmakeのcleanの仕方よくわからんしなぁ…とか思いながら0からやり直す気になれず、もう一度cmakeを実行…すると、継続してmakeしている様子なのですが、htopで見ているとコンパイルのプロセスが一気にどばーっと投入され、さらにメモリー消費が8Gを超えるという事態にw初めて見たよこんな大量コンパイル…。
とりあえず、OOMにならない様に祈りながら終わるまで待ちました。
結果…llama.cpp本体はmakeできた感じですが、syclとしてmakeかけてもllama-ls-sycle(名称怪しい…要確認w)とかが一部出来上がっていなかったのと、sycl-lsとかではちゃんと表示されているのに、llama側からだとGPUが見えない状態になっていて…よくわからんのでちゃんとcmakeのcleanを行おうと検索しましたが、結局良く分からず。。それっぽいコマンドを何個か叩いて、今度はsyclのmake手順でスクリプトを利用する形で実行してみました。
時間はかかりましたが、ようやくすべてmakeが行われたようで、sycl専用のバイナリも出来上がっていました。
とりあえず明らかに納得できない部分でGPUとCPUでの処理分割がどうなっているのかと言う点を確認することから始めました。
すると…やっぱりSYCL(GPU)を使用するとCPU側のスレッドが1つしか使われなくなる様子。ロード時は仕方がないというか当たり前だと思うけど、推論中はフル回転してほしいなぁ…やり方が違うのかなぁとは思う物の、ドキュメント見るとSYCLの対象ってSYCLデバイスだけしか対象にしてないっぽいのが気にはなりますが。
0 件のコメント:
コメントを投稿