1

g++ コンパイルの時間を短縮するために、ビルド サーバーに投資したいと考えています。ソースは並列化可能であるため、私たちのアイデアはメニー コア システムです。(32-48-64 コア)

私の質問は、コンパイル プロセス中にどのタイプの CPU 操作が使用されるかということです。(新しい AMD CPU には、2 コアに対して浮動小数点ユニットが 1 つしかありません)

通常、CPU は多くのソフトウェアでベンチマークされていますが、CPU のコンパイルをテストしている Web サイトは見つかりません。g++ コンパイラと同様に機能するソフトウェアの種類はどれですか? (x264コーディング、圧縮、暗号化?)

基本的な質問は、プロセッサがコードのコンパイルのみに使用される場合、プロセッサの最も重要なパラメータは何かということです。

ありがとう。

4

1 に答える 1

1

コンパイラは、主にメモリのロード/ストア操作と整数操作を使用します。浮動小数点や SIMD をまったく使用しません (ロード/ストアの可能性を除いて)。

通常、ソフトウェアをコンパイルすると、独自のクラスのベンチマークとハード ベンチマークが形成されます。通常、最適化するのが難しいため、プロセッサ メーカーはこれらのベンチマークを好みません。

支配的な要因は、クロック周波数ではなくメモリ帯域幅です。もちろん全部一緒に演奏します。しかし、メモリへの幅広いアクセスが必要であり、すべてのレベルで大きなキャッシュが必要です。たとえば、クロック速度を 10% 上げてキャッシュ サイズを半分にする必要はありません。

于 2013-03-26T08:52:31.440 に答える