Спецификация MPI требует вызова MPI_Finalize
в каждом потоке перед выходом. Как это работает с ошибками во время выполнения, такими как утверждения?
Если I assert(cond)
и cond
оценивается как ложное, у меня нет шансов вызвать MPI_Finalize
, потому что изменяется нормальный поток программы. Должен ли я ловить SIGABRT
, SIGSEGV
и, черт побери, что-нибудь еще, или библиотека MPI как-то сама это обрабатывает?