4

私はf90ファイルを3倍の精度でコンパイルしようとしていました(私はそれが一般的ではないことを知っていますが、とにかく...)。数分後、次のように表示されます。

ifort: error #10106: Fatal error in /opt/intel/Compiler/11.1/072/bin/intel64/fortcom, terminated by kill signal
compilation aborted for foo.f90 (code 1)

私のコンパイルコマンドは次のとおりです。

ifort -r16 foo.f90

-r16ただし、をに変更することで倍精度を使用すると、すべて問題ありません-r8

考えられる理由を教えてください。コードを確認しましたが、問題ないと思います。もちろん、あなたが必要なら私はあなたに見せることができます。

私のコンパイラのバージョンはバージョン11.1ビルド20100414です

4

1 に答える 1

4

4バイトは単精度と見なされるため、少なくとも一般的な使用法では、r16は4倍精度だと思います。

16バイトの実数を有効にするコンパイラオプションがあるので、それが完全に壊れているとは思えません。

問題がどこにあるかを見つけるために、少しずつコンパイルすることをお勧めします。クイックテスト(2の平方根を計算)は、コンパイラが基本的に16バイトの実数を処理できるかどうかを示す必要があります。

コードでポインター、共通ブロック、モジュール、または外部ライブラリを使用していますか?

于 2012-04-10T20:45:43.337 に答える