stops after an mpi error translating the error code
Note
this function is private to mpiwrap.F
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ierr |
an error code * returned by an mpi call * |
||
character(len=*) | :: | prg_code |
SUBROUTINE mp_stop(ierr, prg_code) !! stops *after an mpi error* translating the error code !! @note !! this function is private to mpiwrap.F INTEGER, INTENT(IN) :: ierr !! an error code * returned by an mpi call * CHARACTER(LEN=*) :: prg_code #if defined(__parallel) INTEGER :: istat, len CHARACTER(LEN=MPI_MAX_ERROR_STRING) :: error_string CHARACTER(LEN=MPI_MAX_ERROR_STRING + 512) :: full_error #else CHARACTER(LEN=512) :: full_error #endif #if defined(__parallel) CALL mpi_error_string(ierr, error_string, len, istat) WRITE (full_error, '(A,I0,A)') ' MPI error ', ierr, ' in '//TRIM(prg_code)//' : '//error_string(1:len) #else WRITE (full_error, '(A,I0,A)') ' MPI error (!?) ', ierr, ' in '//TRIM(prg_code) #endif DBCSR_ABORT(full_error) END SUBROUTINE mp_stop