0

C++ で静的 Fortran ライブラリから関数を呼び出そうとしています。

問題のサイズによっては、プログラムが Fortran ライブラリ関数の最初の呼び出しでハングし始めます。私はこの問題の理由を理解できません...

例として、問題のサイズが 133k の場合、プログラムはハングせずに起動し、正常に終了します。ただし、問題のサイズを 365k 以上に増やすと、これらの大きな問題により、最初の関数呼び出しでプログラムがハングアップします。intel と gnu-compiler はどちらも同じ動作になります。

このハングの原因は何ですか?

編集:OS:Linux、私がチェックしたのはシェルのスタックサイズ、ライブラリに固有の環境変数、ところでライブラリはワトソン疎行列パッケージ、疎線形ソルバーであり、問​​題のサイズは行列のサイズですソルバーへの入力である演算子。多くの依存関係があり、プロセスがより複雑になるため、コードを投稿できません。

4

1 に答える 1

0

マシンにはどのくらいのメモリがありますか? スワップいくら?

swap が頻繁に使用される場合、swap の読み取りと書き込みに多くの時間が費やされ、呼び出しが非常に遅くなる可能性があります

Fortran ライブラリで使用されているアルゴリズムがより複雑な場合、より多くの入力で呼び出し時間が (はるかに) 長くなる可能性があります。

于 2012-08-15T14:02:33.640 に答える