コンピューターを構築している場合、どのアイテムをもっと気にする必要がありますか?
実用的な観点からは、GPUと比較してアップグレードが比較的難しいことを考えると、おそらくマザーボードとCPUにかなりの注意を払う必要があります。購入後、4つのGPUのスペースがないか、すべてのCPUをビジー状態に保つのに十分な速度のプロセッサがないことがわかります。
また、GPUのパフォーマンスは単精度FLOPで最も頻繁に報告され、倍精度ではかなり低下することにも注意してください。シミュレーションで余分な精度が必要な場合は、公示されている速度よりかなり低くなります。
ソフトウェアエンジニアリングレースへ
ソフトウェアの観点からは、フォンノイマンのボトルネックとプログラミングモデルという2つの主要な懸念事項があります。CPUはメインメモリにかなり良好にアクセスし、GPUはオンボードで大量の高速メモリを使用します。GPUにデータを出し入れする時間が速度の勝利を完全に無効にすることは不明ではありません。一般に、CPUは大量のデータを適度に計算する場合に勝者となりますが、GPUはより少ない量で大量の計算を行う場合に優れています。これらすべてがプログラミングモデルにつながります。
高レベルでの問題は、古くから名誉あるMIMD / SIMDの議論です。複数命令/複数データシステムは、一般コンピューティングおよび商用コンピューティングの大きな勝者です。SMPを含むこのモデルでは、複数のプロセッサがそれぞれ独自の個別の命令ストリームを実行します。フランスのキッチンに相当するコンピューターで、少数の熟練した料理人に比較的複雑なタスクを完了するよう指示します。
一方、単一命令/複数データシステムは、マスターコントローラーからの指示に従ってデスクにチェーンされた店員でいっぱいの巨大な部屋により似ています。「誰もが3行目と5行目を追加します!」ILLIACおよび一部の「ミニスーパー」システムでは純粋な形で使用されていましたが、市場では失われていました。現在のGPUは密接な親coであり、より柔軟性がありますが、同じ一般的な哲学を共有しています。
簡単にまとめると:
- どのような操作でも、CPUは高速になりますが、GPUは多くを同時に実行できます。違いは、64ビットの浮動小数点数で最も顕著です。
- CPUコアは任意のメモリアドレスで動作でき、GPUのデータはより小さな領域にパッケージ化する必要があります。転送時間を相殺するのに十分な計算を行っている場合にのみ勝ちます。
- 条件付きの重いコードは、通常、CPUでより快適になります。