>>438
>大データに対して同一の演算を行うもの
ここは少し誤解があるような。
CUDAはもっと柔軟性があるよ。
カーネルコードにスレッドIDに依存する処理を入れても遅くならない。
if文も遠慮なく使っていい。
粒度のアンバランスがあってもwarpSize=32がなんとかしてくれることが多いw

CUDAが使えないのは、スレッド間で依存関係があるとき
(あるスレッドが別のスレッドの結果を使うようなとき)
だけでそれ以外は何とかなる。

スレッド間でデータ独立でループが長く、
スレッド数=数百、グリッド数=数百以上とれれば性能を出すのは簡単。

さらに共有メモリー(スレッド間で共有する配列)が使えるアルゴリズムのときは
100倍超の爆速になる。

食わず嫌いの人は、ドキュメントとサンプルコードと格闘してくれ。そうすれば何とかなるよ。