Ralph:

Intel MPI supports a wide range of conduits in the same library (
https://software.intel.com/sites/default/files/Reference_Manual_1.pdf,
section 3.3.1), which can be selected at runtime, so I don't understand
your specialization argument.  Are you suggesting that a lack of
CPU-specific optimizations are responsible for the ~20% difference here?  I
have a hard time believing that, especially if OpenMPI is compiled with the
Intel compiler, which will inline optimized memcpy, etc.

A more likely source of the difference is the eager limit
(I_MPI_EAGER_THRESHOLD), which is 262144 bytes in Intel MPI, which is
larger than any of the limits that I can find OpenMPI using.  Perhaps you
consider the eager limit a network-specific optimization, although Intel
MPI does not treat it that way (the default is not network-specific).
Obviously, it is easy enough for an OpenMPI user to replicate this behavior
with MCA settings and see if that makes a difference.

Of course, since Intel MPI is based on MPICH, there are plenty of intrinsic
differences that could explain the performance gap observed.

Jeff

On Mon, Nov 23, 2015 at 9:03 AM, Ralph Castain <r...@open-mpi.org> wrote:

> FWIW: the usual reason for differences between IMPI and OMPI lies in
> OMPI’s default settings, which are focused on ensuring it can run anywhere
> as opposed to being optimized for a specific platform. You might look at
> the MCA params relating to your environment and networks to optimize them
> for your cluster
>
>
> On Nov 23, 2015, at 8:07 AM, michael.rach...@dlr.de wrote:
>
> Dear Gilles,
>
> In the meantime the administrators have installed (Thanks!)
>  OpenMPI-1.10.1 with Intel-16.0.0 on the cluster.
> I have tested it with our code:  It works.
> The time spent for MPI-data transmission was the same as with
> OpenMPI-1.8.3&Intel-14.0.4, but was ~20% higher than with
> IMPI-5.1.1&Intel-16.0.0
> for the same case running on 3 nodes and 8 procs per node.
>
> Greetings
>   Michael Rachner
>
>
> *Von:* users [mailto:users-boun...@open-mpi.org
> <users-boun...@open-mpi.org>] *Im Auftrag von *Gilles Gouaillardet
> *Gesendet:* Freitag, 20. November 2015 00:53
> *An:* Open MPI Users
> *Betreff:* Re: [OMPI users] Bug in Fortran-module MPI of OpenMPI 1.10.0
> with Intel-Ftn-compiler
>
>
> Michael,
>
> in the mean time, you can use 'mpi_f08' instead of 'use mpi'
> this is really a f90 binding issue, and f08 is safe
>
> Cheers,
>
> Gilles
> On 11/19/2015 10:21 PM, michael.rach...@dlr.de wrote:
>
> Thank You,  Nick and Gilles,
>
> I hope the administrators of the cluster will be so kind  and will update
> OpenMPI for me (and others) soon.
>
> Greetings
> Michael
>
> *Von:* users [mailto:users-boun...@open-mpi.org
> <users-boun...@open-mpi.org>] *Im Auftrag von *Gilles Gouaillardet
> *Gesendet:* Donnerstag, 19. November 2015 12:59
> *An:* Open MPI Users
> *Betreff:* Re: [OMPI users] Bug in Fortran-module MPI of OpenMPI 1.10.0
> with Intel-Ftn-compiler
>
> Thanks Nick for the pointer !
>
> Michael,
>
> good news is you do not have to upgrade ifort,
> but you have to update to 1.10.1
> (intel 16 changed the way gcc pragmas are handled, and ompi has been made
> aware in 1.10.1)
> 1.10.1 fixes many bugs from 1.10.0, so I strongly encourage anyone to use
> 1.10.1
>
> Cheers,
>
> Gilles
>
> On Thursday, November 19, 2015, Nick Papior <nickpap...@gmail.com> wrote:
> Maybe I can chip in,
>
> We use OpenMPI 1.10.1 with Intel /2016.1.0.423501 without problems.
>
> I could not get 1.10.0 to work, one reason is:
> http://www.open-mpi.org/community/lists/users/2015/09/27655.php
>
> On a side-note, please note that if you require scalapack you may need to
> follow this approach:
>
> https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/590302
>
> 2015-11-19 11:24 GMT+01:00 <michael.rach...@dlr.de>:
> Sorry, Gilles,
>
> I cannot  update to more recent versions, because what I used is the
> newest combination of OpenMPI and Intel-Ftn  available on that cluster.
>
> When looking at the list of improvements  on the OpenMPI website for
>  OpenMPI 1.10.1 compared to 1.10.0, I do not remember having seen this item
> to be corrected.
>
> Greeting
> Michael Rachner
>
>
> *Von:* users [mailto: <users-boun...@open-mpi.org>
> users-boun...@open-mpi.org] *Im Auftrag von *Gilles Gouaillardet
> *Gesendet:* Donnerstag, 19. November 2015 10:21
> *An:* Open MPI Users
> *Betreff:* Re: [OMPI users] Bug in Fortran-module MPI of OpenMPI 1.10.0
> with Intel-Ftn-compiler
>
> Michael,
>
> I remember i saw similar reports.
>
> Could you give a try to the latest v1.10.1 ?
> And if that still does not work, can you upgrade icc suite and give it an
> other try ?
>
> I cannot remember whether this is an ifort bug or the way ompi uses
> fortran...
>
> Btw, any reason why you do not
> Use mpi_f08 ?
>
> HTH
>
> Gilles
>
> michael.rach...@dlr.de wrote:
> Dear developers of OpenMPI,
>
> I am trying to run our parallelized Ftn-95 code on a Linux cluster with
> OpenMPI-1-10.0 and Intel-16.0.0 Fortran compiler.
> In the code I use the  module MPI  (“use MPI”-stmts).
>
> However I am not able to compile the code, because of compiler error
> messages like this:
>
> /src_SPRAY/mpi_wrapper.f90(2065): error #6285: There is no matching
> specific subroutin for this generic subroutine call.   [MPI_REDUCE]
>
>
> The problem seems for me to be this one:
>
> The interfaces in the module MPI for the MPI-routines do not accept a send
> or receive buffer array, which is
> actually a variable, an array element or a constant (like MPI_IN_PLACE).
>
> Example 1:
>      This does not work (gives the compiler error message:      error
> #6285: There is no matching specific subroutin for this generic subroutine
> call  )
>              ivar=123    ! ß ivar is an integer variable, not an array
>           *call* MPI_BCAST( ivar, 1, MPI_INTEGER, 0, MPI_COMM_WORLD),
> ierr_mpi )    ! ß- this should work, but is not accepted by the compiler
>
>       only this cumbersome workaround works:
>               ivar=123
>                 allocate( iarr(1) )
>                 iarr(1) = ivar
> *         call* MPI_BCAST( iarr, 1, MPI_INTEGER, 0, MPI_COMM_WORLD,
> ierr_mpi )    ! ß- this workaround works
>                 ivar = iarr(1)
>                 deallocate( iarr(1) )
>
> Example 2:
>      Any call of an MPI-routine with MPI_IN_PLACE does not work, like that
> coding:
>
>       *if*(lmaster) *then*
>         *call* MPI_REDUCE( MPI_IN_PLACE, rbuffarr, nelem, MPI_REAL8,
> MPI_MAX &    ! ß- this should work, but is not accepted by the compiler
>                                          ,0_INT4, MPI_COMM_WORLD, ierr_mpi
> )
>       *else*  ! slaves
>         *call* MPI_REDUCE( rbuffarr, rdummyarr, nelem, MPI_REAL8, MPI_MAX
> &
>                         ,0_INT4, MPI_COMM_WORLD, ierr_mpi )
>       *endif*
>
>     This results in this compiler error message:
>
>       /src_SPRAY/mpi_wrapper.f90(2122): error #6285: There is no matching
> specific subroutine for this generic subroutine call.   [MPI_REDUCE]
>             call MPI_REDUCE( MPI_IN_PLACE, rbuffarr, nelem, MPI_REAL8,
> MPI_MAX &
> -------------^
>
>
> In our code I observed the bug with MPI_BCAST, MPI_REDUCE, MPI_ALLREDUCE,
> but probably there may be other MPI-routines with the same kind of bug.
>
> This bug occurred for                               :     OpenMPI-1.10.0
>  with Intel-16.0.0
> In contrast, this bug did NOT occur for:     OpenMPI-1.8.8    with
> Intel-16.0.0
>
>    OpenMPI-1.8.8    with Intel-15.0.3
>
>                                              OpenMPI-1.10.0  with
> gfortran-5.2.0
>
> Greetings
> Michael Rachner
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post:
> http://www.open-mpi.org/community/lists/users/2015/11/28052.php
>
>
>
> --
> Kind regards Nick
>
>
>
> _______________________________________________
>
> users mailing list
>
> us...@open-mpi.org
>
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> Link to this post: 
> http://www.open-mpi.org/community/lists/users/2015/11/28056.php
>
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post:
> http://www.open-mpi.org/community/lists/users/2015/11/28098.php
>
>
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post:
> http://www.open-mpi.org/community/lists/users/2015/11/28099.php
>



-- 
Jeff Hammond
jeff.scie...@gmail.com
http://jeffhammond.github.io/

Reply via email to