何もない知識の中から経験値だけで突き進んでいるわけですが…
どうやら、ggmlのSYCLの実装は全体的に不完全な気配が濃厚です。
多分、大きなメモリモデルや様々な量子化モデルファイルを利用すると途端に動かないかもしれません。特に内蔵GPUのような貧弱な代物を使おうとするならば…w
と、大げさに愚痴り始めてみましたが、一般的な方は問題ないのかもしれません(笑)
SYCLの実装に関しては良くも悪くも小さい処理でも効率的に動かすためにできる限り細分化して並列処理を実行させようとしている感じがとても強いです。また小規模な物でも実行できるようにしているというか。
結果的にCUDAに比べ、それぞれの制約が厳しい傾向があります。そのうちの最大ワークグループサイズと呼ばれる制約に対してim2colの部分に手を加えたのですが、その直後でも同様にエラーが発生し処理が止まりました(涙
ソースを見る限りあまりこの最大ワークグループサイズに関して何もしていないので、処理が大きくなると、エラーで止まりだす感じが強いです。どこまで手を入れればvaeがSYCLで動いてくれるのだろう…
0 件のコメント:
コメントを投稿