GPUはCPUよりも高速ですか? GPUの方がCPUよりもパスワードを破る速度がはるかに速いという記事を読みました。その場合、CPUをGPUと同じように設計して速度を均一にできないのはなぜですか?
GPUは、グラフィックスを非常に高速に処理するという1つの目標を念頭に置いて設計されています。これが唯一の懸念事項であるため、特定の計算が従来のプロセッサよりも高速にLOTに移行できるようにする特別な最適化が行われています。
パスワードクラッキング(または分子動力学「 folding at home 」プロジェクト)の場合、プログラマーはこれらの最適化されたプロセスを活用して、パスワードを高速でクランチするなどの方法を見つけたということです。
標準のCPUは、グラフィックプロセッサが行うよりもはるかに異なる計算と処理タイプを実行する必要があるため、同様の方法で最適化することはできません。
GPUはコストをかけて速度を上げます。単一のGPUコアは、実際には単一のCPUコアよりもはるかに遅く動作します。たとえば、Fermi GTX 580のコアクロックは772MHzです。最近では、CPUにこのような低いコアクロックを使用したくないでしょう...しかし、GPUにはいくつかのコア(最大16)があり、それぞれ32ワイドのSIMDモードで動作します。これにより、500の操作が並行して実行されます。ただし、一般的なCPUは最大4コアまたは8コアであり、4ワイドのSIMDで動作できるため、並列性が大幅に低下します。
特定のタイプのアルゴリズム(グラフィックス処理、線形代数、ビデオエンコーディングなど)は、このような膨大な数のコアで簡単に並列化できます。パスワードを破ると、そのカテゴリに分類されます。ただし、他のアルゴリズムは並列化が非常に困難です。この分野で進行中の研究があります...それらのアルゴリズムは、GPU上で実行された場合、本当に悪いを実行します。
CPU企業は現在、シングルスレッドプログラムを実行する機能を犠牲にすることなく、GPUの並列処理にアプローチしようとしています。しかし、タスクは簡単なものではありません。 Larabeeプロジェクトは問題の良い例です。インテルは長年にわたって取り組んでいますが、市場ではまだ入手できません。