在我的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
出现错误,程序将挂起并且无法正确完成。
我的问题是:在根处理器上终止程序的适当方法是什么?
答案 0 :(得分:0)
呼叫退出。 PetscFinalize(ierr)并非为程序停止而设计。