6

並列計算を行う目的で、GPU のコアと CPU のコアの概念を理解する助けが必要です。

CPU のコアに関しては、非常に単純に思えます。4回反復する非常に集中的な「for」ループがあります。私の Intel i5 2.26GHz CPU には 4 つのコアがあります。各コアに 1 つのループを与えます。4 つのループはそれぞれ独立しています。ブーム - 4 つのスレッドが作成され、CPU 使用率が 100% になりました (コアが 1 つしかない場合の 25% の CPU 使用率ではなく)。「for」ループは、並列化しない場合よりもほぼ 4 倍高速に実行されるようになりました。ちなみに、「for」ループについては、このオンラインの例のように、Microsoft Visual Studio 2012 で利用可能な自動並列化を使用していました:( http://msdn.microsoft.com/en-us/library/hh872235. aspx )。

対照的に、並列計算に使用できるラップトップの GPU (Intel Graphics Media Accelerator HD、または Intel HD Graphics、1696MB 共有メモリ) のコア数さえ知りません。GPU と CPU を比較する有効な方法さえ知りません。グラフィックカードの説明の横に「12@500MHz」と表示されている場合、GPU コアが 500MHz [低速] 代わりに 2.26GHz [速い]? Windows タスク マネージャーの CPU 使用率に匹敵する GPU 使用率はありますか? 私は Visual Studio 2012 で C++ ライブラリを使用しようとしている全くの初心者です。実際の G​​PU ソフトウェアを作成すると、並列化コードは次のようになります:( http://msdn.microsoft.)。

それで、私の知識のギャップや間違いをいくつか埋めてください。超複雑な答えは必要ありません。「ブランクがあるため、CPU コアと GPU コアを比較することはできません」または「GPU コアは、実際には CPU コアのようなコアではない」などの単純なものです。非常に高く評価されます。

4

1 に答える 1

4

まず、OS は、コードでコアを要求した場合にのみ、より多くのコアを開始します。OpenMP または Win32 スレッドを使用して、i5 で並列処理を実現してみてください。

次に、CPU クロッキングは GPU クロッキング以上のものです。GPU のクロックが CPU と同じであれば、コンロとして使用して料理をすることもできます。GPU のコアは CPU だけではありません。スレッドとコアには違いがあります。

第三に、CPU と GPU の仕様とリファレンス マニュアルを読むことをお勧めします。また、PCI-e も忘れないでください。並列プログラミングの実装のボトルネックです。

これで疑問が解消されることを願っています。ご不明な点がございましたら、お気軽にお問い合わせください。

于 2013-06-24T11:06:35.427 に答える