MPIを介してAbinitを実行する方法は?

MPIを介してAbinitを実行する方法は?

走ろうとしています。アビナイトシーケンシャルモードでは時間がかかりすぎて並列です。私は並行して実行するためにabinitチュートリアルのすべてのステップに従いました。彼らはOpenMPIを使用すると言いますが、動作させることはできません(8つのコアのうちの1つでのみ実行されます)。私もフォローしましたこのチュートリアルただし、まだ1つのコアでのみ実行されます。

ログを見て、ついに問題のある場所を見つけました。

あなたのアーキテクチャは、16、8、4、または2バイトのFORTRANファイルレコードマーカーを処理できません!
ABINITおよびMPI / IOは使用できません。
MPI_ERROR_STRING: 不明なエラーです。バグレポートを提出してください。
ABINIT
アプリケーションはMPI_Abort(MPI_COMM_WORLD、13)を呼び出します - プロセス0

インターネット検索は役に立ちませんでした。 Windows版のabinitと並列に実行できるため、私のアーキテクチャは並列に実行できる必要があります。

動作させるにはどうすればよいですか?

ベストアンサー1

この問題を引き起こす可能性のある状況は次のとおりです。

  1. 互換性のないmpiバージョン、リンクするライブラリ、実行時にロードするライブラリ、およびいくつかの最新バージョンのopenmpiの間にはいくつかの問題があります。
  2. 波動関数または密度の入力ファイルがありません。明確なエラーメッセージはありませんが、これにより、mpi ioが操作を調整して中断することができます。
  3. kポイント/バンド/fftの数は、提供されたプロセッサの数と互換性がありません。デフォルトの並列化では、nkptの除数でなければならず、通常のparal_kgbの場合はnp_kpt * np_band * np_fftの正確な除数でなければなりません。

順番に実行するか、少数のプロセッサで実行して問題のある場所を確認するか、以前のバージョンのmpi(通常1.2.6が動作する)に接続してみてください。tmp_XXX_LOG_P001 002 003プロセッサごとにエラーを記録するファイルも確認する必要があります。追加のヒントを与えます。

おすすめ記事