在我的 Fortran 程序中,我只在根处理器调用外部函数。我进行了一些检查以确保该功能正常工作。如果它不起作用,那么我stop
程序并调用PetscFinalize
. 例如:
if(rank==0) then
call_status = external_function(x)
! function failed
if (call_status/=1) then
write(6,*) "external_function failed"
call PetscFinalize(ierr)
stop
end if
end if
但是,我注意到在运行时,如果出现错误external_function
,程序会挂起并且没有正确完成。
我的问题是:在根处理器处终止程序的适当方法是什么?