2026年6月13日土曜日

笑いが止まらないw

mulでも…と思って手を加えようと思いながらも…どこからどうやって動いているのかさっぱりわがんねw/(^o^)\

Flux.2 Klein の実行命令

cpy_f32_f32の部分を手を入れて、結構足掻いてみた物の、最終的には現状のロジックのまま、SYCLに対する純粋な最適化を行った形で落ち着きました。

途中経過

七転八倒しながら結構いい感触を得られています。

原因不明のエラーの調査は進めていないので512x512レベル止まりですが、cpyロジックも手を加えた結果、

vae   24.13s 全体では 322.93s(テキストエンコードはCPU)となりました。

手元のテキストの過去の記録を見てみると…vaeのベストと比べると誤差レベルで遅くなっていますが、全体では20s程度短くなっています。

GGML的にはdup(複製)の中のcpyロジックのf16->f32とf32->f16部分のみ。モデルファイルがQ4_K_M、Q8_0、safetensorsファイルを使っているのでこの辺の変換にも手を加えるともっと実行速度が短くなりそうです。

あと、実際のログを見て効果の高そうな処理から手を加えた方が効果的かなとも。

cpyのロジックを見る限り、正当に処理を実装しているのでとても無駄が多い実装になっています。どうしても計算量を減らそうとするとそのままではあまり効果が出ないので、実データをを踏まえて実装しなおしています。そのため、結構限定的な実装になってはいます。

当面の目標としては512x512で1分ぐらいで出来上がると嬉しいかなぁ…とか思いながら遊んでいますが、vaeベースを考えると 24秒×5=120秒程度ぐらいには行けるのかな?とは感じていますが…メモリ的にテキストエンコードがCPUのままにしているのでこれよりは遅くなりそうかな?

 

そういえばLocalAIのバージョンアップも行われていますね…SYCLが楽しすぎて全然触れていませんが(笑) 

 

2026年6月9日火曜日

SYCL ワークサブグループが熱い!?

さっきまでワークサブグループってなんかの単位何だろうな…とあまり意識していませんでした。この感動をどう伝えたらいいのだろうか…。今風の書き方ならまず結果を書くべきなのかな?

2026年6月8日月曜日

Flux.2 Klein vae syclの実行

寝る前に実装して実行したところ、実行時間が逆に遅くなったので、その原因を見つけるために見直していました。