1

いくつかのコードをGPUに移植していて、アルゴリズムが列の正規化ステップを実行する必要があることを除いて、ほとんど実装されています(または、アルゴリズムはそれなしで機能しますが、アルゴリズムの安定性のために正規化する方が良いでしょう)。

私はこれを実装するための最良の方法を考えようとしています。私はすでに削減を行うカーネルを持っているので、それを再利用して列の合計を取得できます。列の数は、数千の要素である数十の列から、それぞれ数千の要素を持つ数千の列までにすることができます。各列でリダクションカーネルを繰り返し呼び出すと、パフォーマンスが低下すると思うので、より良い方法を考えており、他の誰かがすでにより最適な方法で問題を解決していることを望んでいます。

4

1 に答える 1

2

UC Davis / NvidiaのチームによるオープンソースのCUDAデータ並列プリミティブライブラリ(CUDPP)を調べることをお勧めします。これには、高速セグメント化スキャンと並列削減が含まれます。

于 2012-08-29T23:30:26.357 に答える