6

並列計算を行う目的で、CPUのコアとGPUのコアの概念を理解する助けが必要です。GPU対CPU?プログラム計算の加速のためのGPUのコア/スレッドの数?

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で動作することを除いて、CPUの4つのコアと同じように機能することができる並列化のために、 ]の代わりに2.26GHz [高速]ですか? WindowsタスクマネージャのCPU使用率に匹敵するGPU使用率はありますか?私は、Visual Studio 2012でC++ライブラリを使用しようとしている初心者です。違いがあれば。実際のGPUソフトウェアを書くと、並列化コードは(http://msdn.microsoft.com/en-us/library/hh265137.aspx)のようになります。

私の知っている間隙や間違いのいくつかを記入してください。それとも2つを比較するのに役立つでしょうか?私は非常に複雑な答えは必要ありません。「CPUコアを空白のためにGPUコアと比較することはできません」、または「GPUコアはCPUコアのようなコアではありません。非常に高く評価される。

+1

私の質問をd​​ownvoteしようとしている場合は、少なくともそれが悪いと思う理由を説明する文を残してください。この質問はむしろオープンに終わっており、さまざまな角度から自由に対処できます。 –

+1

また、ラップトップに標準装備されているグラフィックスカードは虚偽のものだと私は認識しています。 で動作することができる「ディスクリートグラフィックスカード」ではありません。この質問のために、それがプログラムの計算を行うためにうまく機能する「正当な」カードであるとふりをしてください。 –

答えて

4

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

第2に、CPUクロッキングはGPUクロッキング以上です。 GPUのクロッキングがCPUと同じ場合は、ストーブとして調理することができます。 GPUのコアはCPU以上です。スレッドとコアには違いがあります。

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

これは疑問を明確にします。それ以上のご質問は、お気軽にお問い合わせください。

+0

この質問の参考情報が大好き – Harrisson

関連する問題