Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Bug Iscatterv/Igatherv
From: George Bosilca (bosilca_at_[hidden])
Date: 2013-11-27 07:09:57


Thanks this went in as r29761.

  George.

On Nov 26, 2013, at 20:17 , Pierre Jolivet <jolivet_at_[hidden]> wrote:

> Hello,
> Just like r29736, I believe that there are some missing tests in ompi/mca/coll/libnbc/nbc_iscatterv.c and ompi/mca/coll/libnbc/nbc_igatherv.c
> Thoughts ?
> Pierre
>
> Index: nbc_igatherv.c
> ===================================================================
> --- nbc_igatherv.c (revision 29756)
> +++ nbc_igatherv.c (working copy)
> @@ -36,8 +36,10 @@
> if (MPI_SUCCESS != res) { printf("MPI Error in MPI_Comm_rank() (%i)\n", res); return res; }
> res = MPI_Comm_size(comm, &p);
> if (MPI_SUCCESS != res) { printf("MPI Error in MPI_Comm_rank() (%i)\n", res); return res; }
> - res = MPI_Type_extent(recvtype, &rcvext);
> - if (MPI_SUCCESS != res) { printf("MPI Error in MPI_Type_extent() (%i)\n", res); return res; }
> + if (rank == root) {
> + res = MPI_Type_extent(recvtype, &rcvext);
> + if (MPI_SUCCESS != res) { printf("MPI Error in MPI_Type_extent() (%i)\n", res); return res; }
> + }
>
> schedule = (NBC_Schedule*)malloc(sizeof(NBC_Schedule));
> if (NULL == schedule) { printf("Error in malloc() (%i)\n", res); return res; }
> Index: nbc_iscatterv.c
> ===================================================================
> --- nbc_iscatterv.c (revision 29756)
> +++ nbc_iscatterv.c (working copy)
> @@ -38,8 +38,10 @@
> if (MPI_SUCCESS != res) { printf("MPI Error in MPI_Comm_rank() (%i)\n", res); return res; }
> res = MPI_Comm_size(comm, &p);
> if (MPI_SUCCESS != res) { printf("MPI Error in MPI_Comm_size() (%i)\n", res); return res; }
> - res = MPI_Type_extent(sendtype, &sndext);
> - if (MPI_SUCCESS != res) { printf("MPI Error in MPI_Type_extent() (%i)\n", res); return res; }
> + if (rank == root) {
> + res = MPI_Type_extent(sendtype, &sndext);
> + if (MPI_SUCCESS != res) { printf("MPI Error in MPI_Type_extent() (%i)\n", res); return res; }
> + }
>
> schedule = (NBC_Schedule*)malloc(sizeof(NBC_Schedule));
> if (NULL == schedule) { printf("Error in malloc()\n"); return res; }
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users