2012-05-06 8 views
0

、例えば:例えば:[IDX [1] = 222セットを検索するためのOpenCL?私は符号なしshortの配列のソートセットを有する

12, 222, 333, 444, 555 
78, 456, 123, 987, 231 

私は最初のまたは所定の述語の集合に一致する配列のすべてのいずれかを見つけたいです、idx [3] = 444]は、インデックス1の値が222でインデックス3の値が444であるため、最初のローに一致します。

これは、 OpenCL経由のGPU? データ量は1〜2億件です。

答えて

1

もちろん、並列化の価値がある十分な行があれば、独立したカーネルで各行をテストし、適切なGPUを持っていれば良いスピードアップを得ることができます。

+0

gpuでこのような操作を早めに終了できますか?たとえば、最初の試合だけが必要な場合 – jdoig

+1

@jdoig:残念ながら、いいえ、スレッドブロック内のすべてのスレッドをキャンセルすることはできません。完了するまで実行する必要があります。あなたは、グローバル変数シグナリングターミネーションを持ち、すべてのK個の項目でそれをチェックしようとするかもしれません。いずれにせよ、良いGPUをお持ちの場合、CPUよりもはるかに高速な実行時間が得られます。 – Tudor

+0

もう一度Tudorに感謝します。あなたがそこに言及しているテクニックに関するリンクを教えてください。 (グローバル変数によるシグナリング終了)。最初の試合が1000で、最後の試合が1億5000万分の1であれば、OpenCLのルートは効率的ではないかもしれないし、実際に必要なものより多くのデータを返すかもしれないと心配しています。カードからのデータは遅い部分です) – jdoig

関連する問題