2016-10-15 3 views
0

私のプロジェクトの1つでは、低電力のAthlon 5350 CPU(AMDのAPU)を使用しています。それは4つの「正常な」コアと128の「Radeon」コアを持っています。コンピュータはテキストベースのLinuxディストリビューションを実行します。一番上には、私のアプリケーションを実行します。これは、何らかの計算(かなり数学的に複雑です)を実行します。統合されたグラフィックスカードを使用して処理速度を上げることはできますか?

アプリケーションの一部をOpenCLに委任することで、アプリケーションのパフォーマンスを向上させることができるのだろうかと思います。私はOpenCLに全く知識がないので、これは完全に仮説的です。

私の質問は以下のとおりです。何のアプリケーションがOpenCLのを使用しないとき

  • はどのオペレーティングシステムは、これらの「Radeonの」コアを使用していますか?彼らは何とか無効になっていますか?
  • デスクトップアプリケーションはGPUでリレーしていますか? (Webブラウザ/メディアプレーヤー/オフィスアプリケーション)?
  • コンピューティングをコアに移動してアプリケーションの速度を上げることはできますか? (128の独立したタスクに簡単に分けることができると仮定して)
  • 私はRadeonコアを利用すると「通常の」コア速度が影響を受けますか?
  • Radeonコアにはどの程度のスピード(通常のコアと比較して)が必要ですか?
+1

gpuが使用されているが、データがコピーされない場合(リードライトではなくマップアンマップを使用)、すべての計算ユニットがローカルメモリ最適化コードで利用される場合、 。 gpuの部分が600 mhzの場合、1秒間に72.8ギガ浮動小数点加算と同じ量の乗算ができます。これは5-6CPUコア(simd機能を使用)と同等で、何もないより優れています。 –

答えて

1

CPUでコードを実行すると、オペレーティングシステムで多大な処理をする必要はなく、主にプログラムのマルチスレッド化方法に依存します。たとえば、アプリケーションでマルチスレッドをまったく使用しない場合、シングルスレッドプログラムとして実行され、OSによってここで保存されることはありません。これは実際にはOpenCLの利点の1つです。並列処理をサポートしているからです.CPUとGPUの両方でIntelと同じようにAMDも信じていますので、OpenCLプログラムをCPU上で実行することができます。 GPUはマルチスレッドを使用します。

もちろん、ブラウザなどのアプリケーションの中には、ハードウェアアクセラレーション(通常はグラフィックスデバイスを指す)を使用してタスクを完了させるものがあります。たとえば、Safariは、システムGFXまたは統合されたGFXを使用するかどうかを通知します(here

システムには温度制限ポイントがあり、デバイスにスロットルが必要な場合は電力制限がありますGPUを集中的に使用しているなど、これらの制限に達すると、GPUがアイドル状態になっている限り、CPUに高いクロックを使用できなくなる可能性があります。あなたが本当に両方のデバイスを集中的に使用していない場合は、あまり心配しないでください。

パフォーマンスの予測には、実際のAMDコアの詳細が必要です。

関連する問題