Flux1の出力を一通り(主にClipLを変えただけw)終えた気になったので、とっても気の進まないSyclでの動作を試していこうかと。
sycl版のバイナリをmakeしてFlux1で試し始めたのですが、どうもStep1で処理が止まってしまいます。ただ、Stepの表示が行われたため、速度の比較対象としてCPU動作の1Stepと比べることができます。大体ですが、開始させて1分30秒程度なので、ざっくり2.4倍程度の処理が行われていることになります。初期化処理やモデルの読込なども含んだ時間なので、これよりも処理速度は速いものと思われます。
ですが、何をやっても動作させて2分程度でintel_gpu_topで見ているとプロセスは残っているものの、プロセスの処理は行われなくなり、占有していたメモリーも消えてしまいます。
この動きはLocalAIで散々試している最近のダメパターンに酷似しています。
LocalAIのチャットだとこのパターンに陥ってもちゃんと動作していることもあったので少しは期待してみましたが、しばらく放置してもダメでした。最近はこの現象が多発しているのでSyclの使用を止めていました。
今までは、メモリーサイズに起因する問題かと思ってたのですが、かなり小さなモデルでも同様だったりするので、それ以外の要因ととらえています。
そうは言っても、Flux1ではそこそこメモリーを使用するので、最悪を想定してGPUとCPUで二重持ちしても大丈夫ぐらいの大きさで動作させることを目標にstable-diffusion-3.5-mediumを使用してみました。
実際に試行錯誤しながら動作させてみると、なんとか出力まで行われました。
出力できたパターンとしては、全てのggufファイルをQ8_0のものに揃え出力サイズも256x256にしてStepは20で。Q4_0でも行くかもしれません。最初はQ4_0で試行を始めたのですが、あまり様子が変わらないので、Q8_0で試したところ行けたという感じです。
ただ、このサイズだと正直使いませんし、なによりSyclを使用する利点が微妙すぎます(笑)
そもそも論としてSyclってどのレベルで影響が出ているのか?と言うところが気になりました。stable-diffusion.cppは余りコテコテしていないのでざっくりと見た感じ結局ggmlで使用しているだけのような雰囲気が。なので、とりあえずggmlを入れ替えてmakeしなおしてみました。現状masterであってもggml @ 404fcb9となっているのでビルド環境のggmlをrm -rfして、ggmlのリリースv0.11.0でgit cloneを直接行いました。
とは言え、なんか結果は変わらず…のような。とりあえずSD3.5だと最後の画像出力のところで死ぬので、cliの実行に--vae-on-cpuを追加して再実行してみました。
とりあえず出ました!
ただ、出力された内容が、CPUで出力したものと、SYCLで出力されたものが、明らかに違うw
![]() |
| CPU |
![]() |
| SYCL |
コマンドラインなので間違いないはずです…まぁCPUの時に文字が欠けているのもアレな気がしますが…まぁ…でもあれだこれ…ggmlの差かもしれないです。
調子に乗って1024x1024では死亡…768x768でも同じ場所で死亡…
--vae-on-cpuに続き--clip-on-cpuも追加して実行。11まで進んだ…寝よう…
25分程度で出力されました…画面を見てたらvae出力だけで2,3分かかってました。
アニメ調になって、なんか手がふえてr1024x1024でも実行してみましたが…マジ寝ようw



0 件のコメント:
コメントを投稿