大量の操作Xを大量のアイテムに対して実行Y. 各操作Xはかなり簡単で、基本的にはANDおよびORロジックの束を評価しています。Cudafyで未知のサイズの配列を返します
各Func(X、Y)は当然非常に速いですが、XとYの完全な組み合わせは操作全体に長時間を要します。
PLinqを使用すると、はるかに高速になりますが、まだ比較的遅いです。
GPUでこれを動作させるために、私はさまざまなフレームワーク(Alea、Cudafy、GPULinq)を研究していましたが、GPUがすべての操作に適していないことがわかりました。
主な問題は、GPUカーネルでは、いくつかの点で、整数配列の交叉または和集合を実行していることです。これにより、未知の量の値が得られます。おそらく2 *長さの組み合わせで、または交差点で0。
私はいつも2 *長さを使用してこれを回避することができましたが、長さ自体も定数ではありません。
どのようにGPUフレームワーク内で可変サイズのint配列を返すことができますか?
GPUで実行されているコードでこれを実行できません。サイズを事前に知っていなければならず、それを割り当ててからGPUに渡す必要があります。 – Telavian