Returns the size of a data type in bytes
MPI mapping mpi_type_size
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mp_type_descriptor_type), | intent(in) | :: | type_descriptor |
data type |
||
integer, | intent(out) | :: | type_size |
size of the data type |
SUBROUTINE mp_type_size(type_descriptor, type_size) !! Returns the size of a data type in bytes !! !! MPI mapping !! mpi_type_size TYPE(mp_type_descriptor_type), INTENT(IN) :: type_descriptor !! data type INTEGER, INTENT(OUT) :: type_size !! size of the data type #if defined(__parallel) CHARACTER(LEN=*), PARAMETER :: routineN = 'mp_type_size' INTEGER :: ierr ierr = 0 CALL MPI_TYPE_SIZE(type_descriptor%type_handle, type_size, ierr) IF (ierr .NE. 0) & DBCSR_ABORT("mpi_type_size @ "//routineN) #else SELECT CASE (type_descriptor%type_handle) CASE (1) type_size = real_4_size CASE (3) type_size = real_8_size CASE (5) type_size = 2*real_4_size CASE (7) type_size = 2*real_8_size END SELECT #endif END SUBROUTINE mp_type_size