2012-01-12 11 views
0

ifortを使用する際に問題があります。私はのifort/mpich1でコードをコンパイルしたが、私はいくつかのノード間でそれを実行しようとしたときにコードが特定のポイントに到達するとエラーでハング:チャンスをうかがって計算ノードへのパスをエクスポートする方法、並列プログラミング

symbol lookup error ... undefined symbol __svml_round2 

、私はこれが原因であるかなり確信していますifortvarsシェルスクリプトが計算ノード上でソースされていない(あるノードでコードを連続的に起動しようとしたが、ifort varsをソースしていないと同じエラーが発生する)。

この問題を回避するには、どのような方法が最適ですか? .bashrcファイルに "source ..."コマンドがあるので、私の ".bashrc"ファイルはmpirunで実行されていないようです。私は/etc/bash.bashrcファイルに行を追加しようとしましたが、運が得られませんでした。私はのifortでなく、無駄にコンパイルするとき、私はまだエラーを取得

-i-static 
-static 

を含めて問題を解決するコンパイル時に代わりに、私はおそらく静的リンクを考えました。

この問題を回避する方法を知っている人は、コンパイルされたプログラム(より望ましい解決策)を実行するときにifortを使用してコンパイルする方法、またはどちらかのパスをプッシュする方法、またはMPI呼び出しでvarsをソースする方法は?ありがとう。

答えて

0

mpirun/mpirun_rshコマンドの一部として環境変数を与えることができます。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib;mpirun_rsh -ssh -host -np 2 -hostfile hostlist /home/usr1/app.exe -x /home/usr1/config/appconfig.xml

関連する問題