4

私はICCを使用して、研究用に書いたプログラムをコンパイルしています(浮動小数点計算がたくさんあるだけで印象的なものは何もありません)。次を使用して問題なくコンパイルできます。

 g++ -O3 mixingModel.cpp configFile.cpp -o mixingModel  

また

 icc -O3 -ipo -static mixingModel.cpp configFile.cpp -o mixingModel

ただし、 -static を追加するとすぐに、コンパイラがハングします。この問題は、私が -fast を使用したいと思ったときに最初に忍び寄り、コンパイラーはそこに座って永遠にコンパイルしていました。実行中のプロセスは mcpcom と呼ばれ、CPU の 99% (つまり 1 つのスレッド) を使用し、メモリはほとんど使用しません。私はそれを 30 分以上そこに置いておきました (-fast を使用しない場合の通常のコンパイル時間は 1 分未満です)。

次に、C++ で小さな hello world プログラムを作成し、-fast フラグを付けてコンパイルしようとしましたが、同じ MO が再び表示されました。99% の CPU が使用された状態でそこに座り、呼び出されたプロセスは mcpcom です。

注: ICC バージョン 11.1 20100806 を使用して 64 ビット Linux でコンパイルしています。

ありがとうございました、

パトリック

4

1 に答える 1

6

これは、iccの手続き間最適化が原因である可能性があります。すべてのオブジェクトファイルが考慮されます。これは、静的リンクを実行するときに多くなる可能性があります。だから私はドロップすることをお勧めします-ipo。どうやら、これは古い問題です。

于 2010-12-20T21:09:38.633 に答える