2026年5月13日水曜日

cuda だとどうなるのか?


かなり気になったので見てみると、ハード的な制約は無さそうといった印象
ただ、非同期処理で

            std::lock_guard<std::mutex> lock(ggml_cuda_lock);

と、なってるのでミューテックスを取得するまで待機しちゃうように思える。やべぇこの辺全く記憶にないやw検索だな
やっぱミューテックスじゃ確実にロックがかかっちゃうねぇ…

この辺は実装でどうにでもなるから、まぁいいんだろうけど、対してSYCLではqueueにぶち込んで終わりなので簡単だけど、このqueueがポンコツすぎ。
何が非同期だから取得できないだよ。制限ありきで参照させりゃぁいいのに…

厳密にやるかどうかだけど。

と、ざっくり見た感じロックしちゃってもいいんじゃね?っていうのが、現時点での結論だったり。
リアルタイムでcompute()かけたければそれこそワーカースレッド内で処理させるべきなんだろうな。


あくまでもGPU演算が非同期処理で実装されてるからそれに合わせてるだけと考えればいいのかな?

0 件のコメント:

コメントを投稿