Report a fatal error and stop every rank of the run.
By default the rank that calls this writes the message, prefixed with its rank on a multi-rank run, and aborts the job. That is safe however many ranks get here, so it is the right choice for a failure only some ranks see: a CUDA error, a missing file, a bad MPI return code.
Pass collective=.true. when every rank is certain to reach this call
with the same message, typically while checking the input. Rank 0 then
writes the message once and aborts, while the other ranks wait for it.
Never use it for an error some ranks may not see: those ranks would
carry on while the rest wait, and the run hangs.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | message | |||
| logical, | intent(in), | optional | :: | collective |