2011-12-15 6 views
1

マルチコアがGPUに比べて優れた性能を発揮するアルゴリズムのリストを提案できますか?私はハイブリッドアプローチがまだまだ速いことを知っていますが、私が本当に求めているのは、GPUがまだマルチコアに遅れている分野を理解することです。最も適切に少なくともから、適切な適合性のためにマルチコアでは高速ですがGPUでは比較的遅いカーネル

答えて

3

:(のような-jNを作る)

  • GPUは唯一のSIMD型のワークロードを加速することができますので、彼らは、タスク並列処理のためには良いではありません。
  • GPUにはキャッシュが多くなく、そのアトムオプションはCPUに比べて相対的に遅いです。そのため、ツリーのようなポインタベースの構造を持つCPUほど優れていません。
  • 画像処理やコンピュータビジョンなどの作業負荷は、GPUの利点(テクスチャマッピングハードウェア、コア数)がCPUの利点(SIMD整数サポートの向上、クロックレートの向上)によって相殺される灰色の領域にあります。実際の処理が浮動小数点で行われている場合は、おそらくGPUの洗い流しまたはわずかな利点です。処理が整数で実行され、SSE2命令にマッピングできる場合、CPUはGPUを押しつぶします。

GPUは、単精度浮動小数点を多く使用するデータ並列作業負荷で優れています。

GPUに負荷をかけている作業負荷でも、データ転送コストが発生します。

+0

はい、私はポインタ追跡アルゴリズムは、空間的局所性の問題があり、GPUは持っていることを知っていますより小さなキャッシュ。しかし、GPUは、ハードウェアマルチスレッドを通じて長いメモリレイテンシを隠すことができます。浮動小数点パフォーマンスの面では、GPUは優れており、整数ベースの計算はマルチコア上で優れています。整数計算に基づいたポインタ追跡アルゴリズムは、マルチコアよりもGPU上で動作が遅くなる可能性が高いと言うことができますか? – nurabha

+0

私はそれらをグループ化しません - GPUは狭い整数サポートに依存する計算で悪いと言います(例えば中央値の計算は対応する整数の要素ごとの最小/最大計算の驚きです)。ポインタ追いかけ時。 これらはまた、一般的なタスク並列コンピューティング(パラレルメイクのような)も不可能です。 CPUの分離されたコアは、異なるコアが並行して起こる全く異なることをしているタスクに適しています。 – ArchaeaSoftware

0

Intelの人々は、最近のマルチコアCPUとGPUの科学計算を比較した研究を行った人もいます。おそらくあなたはその面白いことを見つけるでしょう。 5ページの図1に結果を示します。

Leeら、「CPUの神話対100X GPUを暴く:スループットコンピューティングの評価をCPUとGPUに」: http://www.hwsw.hu/kepek/hirek/2010/06/p451-lee.pdf

関連する問題