web-dev-qa-db-ja.com

なぜマイクパウンドは、プロセッサではなくグラフィックカードによってコンピュータの計算能力を測定するのですか?

私は最近見ていた パスワードに関するすばらしいコンピュータファンビデオ で、マイクパウンドは4つのグラフィックスカード(正確にはTitan X)を備えた彼の会社のスーパーコンピュータを自慢しています。

数値シミュレーションの愛好家として、シミュレーション作業専用のデスクトップを構築することを夢見ています。なぜマイクパウンドは、プロセッサではなくグラフィックカードによってコンピュータの計算能力を測定するのですか?コンピュータを構築している場合、どのアイテムをもっと気にする必要がありますか?

17
Ra31513

マイクポンドは、グラフィックカードの計算能力をCPUの計算能力よりも高く評価していることは明らかです。

なぜ?グラフィックカードは基本的に、すべて並列に実行される多くの単純化されたプロセッサで構成されています。一部のシミュレーション作業では、グラフィックカードで利用可能な何千ものコア上で、多くの計算を簡単に並列化して並列処理できるため、合計処理時間が短縮されます。

もっと気にすべきアイテムはありますか?これは、気になるワークロードと、そのワークロードをグラフィックカードで使用するためにどのように並列化/並列化できるかによって異なります。ワークロードが途方もなく並列な単純な計算のセットであり、ソフトウェアが利用可能なグラフィックスカードを利用するように作成されている場合、より多くのグラフィックスカードは、より多くのCPUよりもはるかに大きなパフォーマンスへの影響があります(1ドル)。

32
Maybe_Factor

チェックアウト https://developer.nvidia.com/cuda-zone (およびgooglecuda nvidia詳細については) 。 cudaアーキテクチャとハイエンドのグラフィックスカードは、デスクトップスーパーコンピューターでかなり広く使用されています。市販のホワイトボックスコンポーネントを使用すると、通常、数Tフロップボックスを$ 10K(usd)以下でまとめることができます。

そう...

数値シミュレーション愛好家として、シミュレーション作業専用のデスクトップを構築することを夢見ています

... cudaは、あなたにとって街で最高のゲームです。 https://scicomp.stackexchange.com/ または別のstackexchange Webサイトでもう一度質問してみてください。この種のものに直接関与しています。

(ちなみに、ここでは超並列プログラミングについて説明しているので、アルゴリズム設計のパラダイムについて理解しておく必要があるかもしれません。)

5
John Forkosh

コンピュータを構築していた場合、どのアイテムをもっと気にする必要がありますか?

実用的な観点からは、GPUと比較してアップグレードが比較的困難であることを考えると、おそらくマザーボードとCPUにかなりの注意を払う必要があります。購入後、GPUを4つ搭載するスペースがないか、GPUをすべてビジー状態に保つのに十分な速度のプロセッサがないことを発見するのは大変な時期です。

また、GPUのパフォーマンスは単精度のFLOPで報告されることが多く、倍精度の場合はかなり低下することにも注意してください。シミュレーションでより高い精度が必要な場合は、広告された速度を大幅に下回ることになります。

ソフトウェアエンジニアリングレースのオフ

ソフトウェアの観点からは、フォンノイマンのボトルネックとプログラミングモデルという2つの主な懸念事項があります。 CPUはメインメモリにかなり良好にアクセスできます。GPUにはオンボードの高速メモリが大量にあります。 GPUの内外にデータを移動する時間が速度の勝利を完全に打ち消すことは知られています。一般に、CPUは大量のデータの適度な計算に勝っていますが、GPUは少量の重い計算に優れています。これらすべてがプログラミングモデルにつながります。

高いレベルでの問題は、古代の名誉あるMIMD/SIMDの議論です。複数の命令/複数のデータシステムは、一般的なコンピューティングと商用コンピューティングの大勝者です。 SMPを含むこのモデルでは、複数のプロセッサがそれぞれ独自の命令ストリームを実行します。これはフランスのキッチンに相当するコンピューターで、少数の熟練したコックに比較的複雑なタスクを完了するように指示します。

一方、単一命令/複数データシステムは、マスターコントローラーからの指示に従ってデスクにチェーンされた店員でいっぱいの巨大な部屋に、よりよく似ています。 「全員が3行目と5行目を追加します!」それはその純粋な形でILLIACといくつかの「ミニスーパー」システムで使用されましたが、市場で失われました。現在のGPUは従兄弟であり、より柔軟ですが、同じ一般的な哲学を共有しています。

簡単にまとめると:

  • GPUは多数の処理を同時に実行できる一方で、どのような操作でもCPUはより高速になります。違いは、64ビット浮動小数点で最も顕著です。
  • CPUコアは任意のメモリアドレスで動作でき、GPUのデータはより小さな領域にパッケージ化する必要があります。転送時間を相殺するのに十分な計算を行っている場合にのみ勝ちます。
  • 条件付きの重いコードは、通常、CPUでより幸せになります。
2