Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] Gather(linear_sync) is truncated using derived data type
From: Y.MATSUMOTO (yuki.matsumoto_at_[hidden])
Date: 2012-01-16 00:36:12


Dear All,

Next feed back is about MPI_Gather problem.

Gather may be truncated in following condition:
1:ompi_coll_tuned_gather_intra_linear_sync is called.
(message size is over 6000B)

2:Either send data type or recv data type is derived type and
other data type is predefined data type.

Truncated is occurred by attached C file(following output).

Output:
*** An error occurred in MPI_Gather
*** on communicator MPI_COMM_WORLD
*** MPI_ERR_TRUNCATE: message truncated
*** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)

In this C program,
"first_segment_count(variable in ompi_coll_tuned_gather_intra_linear_sync)" is
different between root and non-root.
That makes messages truncated.
"first_segment_size" can not be dividable by derived data type's size,
but can dividable by predefined data type's size.
But we don't solve this problem.
So, we don't choose linear_sync in coll_tuned_decision_fixed.c.

Best Regards,

Yuki MATSUMOTO
MPI development team,
Fujitsu