1
1
This commit was SVN r21159.
Этот коммит содержится в:
George Bosilca 2009-05-05 13:47:47 +00:00
родитель b4334cff2e
Коммит db096d7d3a

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

@ -124,27 +124,25 @@ mca_coll_basic_allgatherv_inter(void *sbuf, int scount,
mca_coll_base_module_t *module) mca_coll_base_module_t *module)
{ {
int rsize, err, i; int rsize, err, i;
int *scounts = NULL, *sdisps = NULL; int *scounts, *sdisps;
rsize = ompi_comm_remote_size(comm); rsize = ompi_comm_remote_size(comm);
scounts = (int *) malloc(rsize * sizeof(int)); scounts = (int *) malloc(2 * rsize * sizeof(int));
sdisps = (int *) calloc(rsize, sizeof(int)); sdisps = scounts + rsize;
if (NULL == scounts || NULL == sdisps) { if (NULL == scounts) {
return OMPI_ERR_OUT_OF_RESOURCE; return OMPI_ERR_OUT_OF_RESOURCE;
} }
for (i = 0; i < rsize; i++) { for (i = 0; i < rsize; i++) {
scounts[i] = scount; scounts[i] = scount;
sdisps[i] = 0;
} }
err = comm->c_coll.coll_alltoallv(sbuf, scounts, sdisps, sdtype, err = comm->c_coll.coll_alltoallv(sbuf, scounts, sdisps, sdtype,
rbuf, rcounts, disps, rdtype, comm, rbuf, rcounts, disps, rdtype, comm,
comm->c_coll.coll_alltoallv_module); comm->c_coll.coll_alltoallv_module);
if (NULL != sdisps) {
free(sdisps);
}
if (NULL != scounts) { if (NULL != scounts) {
free(scounts); free(scounts);
} }