On 10 February 2010 13:42, Eugene Loh <Eugene.Loh_at_[hidden]> wrote:
> Here is a related case.
>
> If I remember correctly, the HPCC pingpong test synchronizes occasionally by
> having one process send a zero-byte broadcast to all other processes.
> Â What's a zero-byte broadcast? Â Well, some MPIs apparently send no data, but
> do have synchronization semantics. Â (No non-root process can exit before the
> root process has entered.) Â Other MPIs treat the zero-byte broadcasts as
> no-ops; Â there is no synchronization and then timing results from the HPCC
> pingpong test are very misleading. Â So far as I can tell, the MPI standard
> doesn't address which behavior is correct.
Yep... for p2p communication things are more clear (and behavior more
consistens in the MPI's out there) regarding zero-length messages...
IMHO, collectives should be non-op only in the sense that no actual
reduction is made because there are no elements to operate on. I mean,
if Reduce(count=1) implies a sync, Reduce(count=0) should also imply a
sync...
> The test strikes me as
> deficient: Â it would have been just as easy to have a single-word broadcast
> to implement the synchronization they were looking for.
>
Or use MPI_Barrier() ...
--
Lisandro Dalcin
---------------
Centro Internacional de Métodos Computacionales en IngenierÃa (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria QuÃmica (INTEC)
Consejo Nacional de Investigaciones CientÃficas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594
|