1

クラスターで mpi プログラムを実行しています。プログラムが終了しても、ジョブは終了しません。そのため、タイムアウトするまで待つ必要があります。

これをデバッグする方法がわかりません。プログラムが MPI のファイナライズ ステートメントに達したことを確認しました。libエレメンタルを使用しています。

プログラムの最終行

if (grid.Rank() == 0) std::cout << "Finalize" << std::endl;
std::string message = std::string("rank_") +
std::to_string(mpi::Rank(mpi::COMM_WORLD)) + "_a";
std::cout << message;
Finalize();
message = message + "b";
std::cout << message;
mpi::Finalize();
message = message + "c";
std::cout << message;
return 0;

出力は

Finalize
rank_0_arank_0_abrank_0_abcmpiexec: killall: caught signal 15 (Terminated).
mpiexec: kill_tasks: killing all tasks.
mpiexec: wait_tasks: waiting for taub205.
mpiexec: killall: caught signal 15 (Terminated).
=>> PBS: job killed: walltime 801 exceeded limit 780
----------------------------------------
Begin Torque Epilogue (Tue Nov  4 16:15:19 2014)
Job ID:           ***
Username:         ***
Group:            ***
Job Name:         mpi_test1
Session:          11270
Limits:
ncpus=1,neednodes=1:ppn=6:m24G:taub,nodes=1:ppn=6:m24G:taub,walltime=00:13:00
Resources:        cput=00:02:12,mem=429524kb,vmem=773600kb,walltime=00:13:21
Job Queue:        secondary
Account:          ***
Nodes:            taub205
End Torque Epilogue
----------------------------------------

これらのモジュールをhttps://campuscluster.illinois.edu/hardware/#taubで実行する

> module list
Currently Loaded Modulefiles:
  1) torque/4.2.9              5) gcc/4.7.1
  2) moab/7.2.9                6) mvapich2/2.0b-gcc-4.7.1
  3) env/taub                  7) mvapich2/mpiexec
  4) blas                      8) lapack
4

0 に答える 0