родитель
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);
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user