Re: [OMPI users] Possible bugs in MPI_Neighbor_alltoallv()

2019-06-28 Thread Zhang, Junchao via users
Gilles,
  I tested your patch with our code and it fixed the problem. Thanks.
--Junchao Zhang


On Thu, Jun 27, 2019 at 11:46 PM Gilles Gouaillardet via users 
mailto:users@lists.open-mpi.org>> wrote:
Thanks Junchao,


I issued https://github.com/open-mpi/ompi/pull/6782 in order to fix this
(and the alltoallw variant as well)

Meanwhile, you can manually download and apply the patch at
https://github.com/open-mpi/ompi/pull/6782.patch



Cheers,


Gilles

On 6/28/2019 1:10 PM, Zhang, Junchao via users wrote:
> Hello,
>   When I do MPI_Neighbor_alltoallv or MPI_Ineighbor_alltoallv,  I find
> when either outdegree or indegree is zero, OpenMPI will return an
> error. The suspicious code is at pneighbor_alltoallv.c /
> pineighbor_alltoallv.c
>
> 101 } else if ((NULL == sendcounts) || (NULL == sdispls) ||
> 102 (NULL == recvcounts) || (NULL == rdispls) ||
> 103 MPI_IN_PLACE == sendbuf || MPI_IN_PLACE == recvbuf) {
> 104 return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG,
> FUNC_NAME);
> 105 }
>
> Apparently,  the counts, displs error-checking should only be done
> when degree != 0.
>
> Thanks.
> --Junchao Zhang
>
> ___
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users
___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users
___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Re: [OMPI users] Possible bugs in MPI_Neighbor_alltoallv()

2019-06-27 Thread Gilles Gouaillardet via users

Thanks Junchao,


I issued https://github.com/open-mpi/ompi/pull/6782 in order to fix this 
(and the alltoallw variant as well)


Meanwhile, you can manually download and apply the patch at 
https://github.com/open-mpi/ompi/pull/6782.patch




Cheers,


Gilles

On 6/28/2019 1:10 PM, Zhang, Junchao via users wrote:

Hello,
  When I do MPI_Neighbor_alltoallv or MPI_Ineighbor_alltoallv,  I find 
when either outdegree or indegree is zero, OpenMPI will return an 
error. The suspicious code is at pneighbor_alltoallv.c / 
pineighbor_alltoallv.c


101         } else if ((NULL == sendcounts) || (NULL == sdispls) ||
102             (NULL == recvcounts) || (NULL == rdispls) ||
103             MPI_IN_PLACE == sendbuf || MPI_IN_PLACE == recvbuf) {
104             return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG, 
FUNC_NAME);

105         }

Apparently,  the counts, displs error-checking should only be done 
when degree != 0.


Thanks.
--Junchao Zhang

___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

[OMPI users] Possible bugs in MPI_Neighbor_alltoallv()

2019-06-27 Thread Zhang, Junchao via users
Hello,
  When I do MPI_Neighbor_alltoallv or MPI_Ineighbor_alltoallv,  I find when 
either outdegree or indegree is zero, OpenMPI will return an error. The 
suspicious code is at pneighbor_alltoallv.c / pineighbor_alltoallv.c

101 } else if ((NULL == sendcounts) || (NULL == sdispls) ||
102 (NULL == recvcounts) || (NULL == rdispls) ||
103 MPI_IN_PLACE == sendbuf || MPI_IN_PLACE == recvbuf) {
104 return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG, FUNC_NAME);
105 }

Apparently,  the counts, displs error-checking should only be done when degree 
!= 0.

Thanks.
--Junchao Zhang
___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users