[mpich-discuss] MPI_DIMS_CREATE

Jeff Hammond jeff.science at gmail.com
Thu Apr 2 13:07:26 CDT 2015


FWIW, this function is described as "Cartesian Convenience Function"
and "helps the user select a balanced distribution of processes per
coordinate direction", which means that it really isn't required if
the user knows math.

Obviously, your case is trivially solved because you already know
sqrt(nnodes), but I'm sure you are not using it this way in the real
application.  However, there is nothing stopping you from writing a
superior prime factorization routine than MPICH, or whatever is
necessary to get behavior you want.

Given the number of bugs in this function I've seen reported over the
years, I am inclined to ask the MPI Forum to deprecate it and
encourage users to do the math themselves, since it seems more often
than not that they can do better.

Best,

Jeff

On Tue, Mar 31, 2015 at 12:10 AM, Valery <valeryweber at hotmail.com> wrote:
> Dear All
>
> I noticed that MPI_DIMS_CREATE cannot split eg
> 361
> into a 19 * 19 processor grid. Is that a feature?
>
> The code follows.
>
> I used
> MPICH-3.1.4
> gcc-4.9.2
>
> valery
>
>
> cat mpi_dims.f90
> program test
>   use mpi
>   implicit none
>   integer :: ierr, nnodes, ndims, dims(2), i
>   call MPI_INIT( ierr )
>   ndims = 2
>   do i = 1, 200
>      nnodes = i**2
>      dims(:) = 0
>      call MPI_DIMS_CREATE( nnodes, ndims, dims, ierr )
>      if( dims(1) /= i ) write(*,*) i, dims
>   enddo
>   call MPI_FINALIZE(ierr)
> end program test
>
> mpif90 mpi_dims.f90
>
>
> mpiexec -n 1 ./a.out
>           19         361           1
>           41        1681           1
>           43        1849           1
>           71        5041           1
>           73        5329           1
>           79        6241           1
>           83        6889           1
>           89        7921           1
>          137       18769           1
>          139       19321           1
>          149       22201           1
>          151       22801           1
>          157       24649           1
>          163       26569           1
>          167       27889           1
>          173       29929           1
>          179       32041           1
>          181       32761           1
>
>
>
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss



-- 
Jeff Hammond
jeff.science at gmail.com
http://jeffhammond.github.io/
_______________________________________________
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss


More information about the discuss mailing list