SUBROUTINE mp_file_read_at_all_ch(fh, offset, msg)
CHARACTER(LEN=*), INTENT(OUT) :: msg
INTEGER, INTENT(IN) :: fh
INTEGER(kind=file_offset), INTENT(IN) :: offset
#if defined(__parallel)
CHARACTER(LEN=*), PARAMETER :: routineN = 'mp_file_read_at_all_ch'
INTEGER :: ierr
CALL MPI_FILE_READ_AT_ALL(fh, offset, msg, LEN(msg), MPI_CHARACTER, MPI_STATUS_IGNORE, ierr)
IF (ierr .NE. 0) &
DBCSR_ABORT("mpi_file_read_at_all_ch @ "//routineN)
#else
READ (UNIT=fh, POS=offset + 1) msg
#endif
END SUBROUTINE mp_file_read_at_all_ch