In multi-partition mode, all the procs are in the “universe” MPI comm.
Each job in the partition has a subset of procs which are
all in the local “world” MPI comm. When one of the partition jobs
does a “quit”, each proc in the world calls error->done, which
does simply this:
MPI_Barrier(world);
if (output) delete output;
if (screen && screen != stdout) fclose(screen);
if (logfile) fclose(logfile);
MPI_Finalize();
exit(1);
So I don’t see why that would kill other partitions.
Unless Finaize() propagates info to procs in other
partitions.
The
Finalize() and exit() will terminate the processes in the
one partition, so they will not be available to continue
in multi-partition mode (i.e. be assigned another script to run).
Maybe there could be an argument to the quit command
to
1 = kill everything in all partitions
2 = kill one partition
3 = simply terminate one partition and allow it to be
assigned another job (same as if it came to the
end of the script
Steve