abort()
только завершает задачу MPI, которая ее вызывает.
Весьма вероятно, что она будет обнаружена mpirun
и / или менеджером ресурсов и уничтожит все задания MPI (например, всеЗадачи MPI на всех узлах) после этого.
При этом, это зависит от библиотеки / системы, и вам следует сначала проверить это дважды.
Правильный способ прекратить работу MPI - это
MPI_Abort(MPI_COMM_WORLD, errorcode)
errorcode
является int
и обычно присваивается строго положительное значение.