1
1

Correctly compute the number of elements in a segment.

For broadcast send the correct size for all intermediary nodes.

This commit was SVN r12552.
Этот коммит содержится в:
George Bosilca 2006-11-10 23:04:50 +00:00
родитель 7102147b9f
Коммит c2c6a1b37e
3 изменённых файлов: 5 добавлений и 4 удалений

Просмотреть файл

@ -405,7 +405,8 @@ do {
* expected by the collective call.
*/
#define COLL_TUNED_COMPUTED_SEGCOUNT(SEGSIZE, TYPELNG, SEGCOUNT) \
if( (SEGSIZE) >= (TYPELNG) ) { \
if( ((SEGSIZE) >= (TYPELNG)) && \
((SEGSIZE) < ((TYPELNG) * (SEGCOUNT))) ) { \
size_t residual; \
(SEGCOUNT) = (int)((SEGSIZE) / (TYPELNG)); \
residual = (SEGSIZE) - (SEGCOUNT) * (TYPELNG); \

Просмотреть файл

@ -140,11 +140,11 @@ ompi_coll_tuned_bcast_intra_generic( void* buffer,
for( i = 0; i < tree->tree_nextsize; i++ ) { /* send data to children */
/* send data */
#if defined(COLL_TUNED_BCAST_USE_BLOCKING)
err = MCA_PML_CALL(send(tmpbuf, sendcount, datatype,
err = MCA_PML_CALL(send(tmpbuf, count_by_segment, datatype,
tree->tree_next[i], MCA_COLL_BASE_TAG_BCAST,
MCA_PML_BASE_SEND_STANDARD, comm));
#else
err = MCA_PML_CALL(isend(tmpbuf, sendcount, datatype,
err = MCA_PML_CALL(isend(tmpbuf, count_by_segment, datatype,
tree->tree_next[i], MCA_COLL_BASE_TAG_BCAST,
MCA_PML_BASE_SEND_STANDARD, comm, &send_reqs[i]));
#endif /* COLL_TUNED_BCAST_USE_BLOCKING */