1
1

Similar to the changes yesterday, this is a clash of the APIs -- MPI

needs int's, and ORTE needs size_t's.  So do the "safe" downcast to an
int when required.

This commit was SVN r6253.
Этот коммит содержится в:
Jeff Squyres 2005-07-01 16:51:34 +00:00
родитель c4a07f700f
Коммит a5fa5f394c

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

@ -18,9 +18,8 @@
#include "mpi.h"
#include "dps/dps.h"
#include "util/convert.h"
#include "mca/ns/ns_types.h"
#include "communicator/communicator.h"
#include "proc/proc.h"
#include "include/constants.h"
@ -611,6 +610,7 @@ static int ompi_comm_allreduce_intra_oob (int *inbuf, int *outbuf,
int rc;
int local_leader, local_rank;
orte_process_name_t *remote_leader=NULL;
size_t size_count;
local_leader = (*((int*)lleader));
remote_leader = (orte_process_name_t*)rleader;
@ -653,11 +653,14 @@ static int ompi_comm_allreduce_intra_oob (int *inbuf, int *outbuf,
rc = orte_rml.send_buffer(remote_leader, sbuf, 0, 0);
}
if (ORTE_SUCCESS != (rc = orte_dps.unpack(rbuf, outbuf, (size_t*)&count, ORTE_INT))) {
if (ORTE_SUCCESS != (rc = orte_dps.unpack(rbuf, outbuf, &size_count, ORTE_INT))) {
goto exit;
}
OBJ_RELEASE(sbuf);
OBJ_RELEASE(rbuf);
if (ORTE_SUCCESS != (rc = ompi_sizet2int(size_count, &count, true))) {
goto exit;
}
if ( &ompi_mpi_op_max == op ) {
for ( i = 0 ; i < count; i++ ) {