integer disp(2), blen(2), type(2) integer blocktype, newtype integer sizeoftype, nsuperblks call mpi_type_contiguous (r, dtype, blocktype, ierr) call mpi_type_extent (dtype, sizeoftype, ierr) nsuperblks = m/(p*k*r) disp(1) = 0 disp(2) = sizeoftype*k*r type(1) = blocktype type(2) = MPI_UB blen(1) = 1 blen(2) = 1 call mpi_type_struct (2, blen, disp, type, newtype,ierr) call mpi_type_commit (newtype, ierr)