Correctly use remote size where necessary. Completements the
patches for ticket #3105. This commit was SVN r26490.
Этот коммит содержится в:
родитель
4bda5da63a
Коммит
5ff74babc6
@ -2,7 +2,7 @@
|
||||
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
||||
* University Research and Technology
|
||||
* Corporation. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
* Copyright (c) 2004-2012 The University of Tennessee and The University
|
||||
* of Tennessee Research Foundation. All rights
|
||||
* reserved.
|
||||
* Copyright (c) 2004-2008 High Performance Computing Center Stuttgart,
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
||||
* University Research and Technology
|
||||
* Corporation. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
* Copyright (c) 2004-2012 The University of Tennessee and The University
|
||||
* of Tennessee Research Foundation. All rights
|
||||
* reserved.
|
||||
* Copyright (c) 2004-2008 High Performance Computing Center Stuttgart,
|
||||
@ -49,7 +49,7 @@ int MPI_Alltoallv(void *sendbuf, int *sendcounts, int *sdispls,
|
||||
ptrdiff_t recv_ext;
|
||||
ptrdiff_t send_ext;
|
||||
|
||||
size = ompi_comm_size(comm);
|
||||
size = ompi_comm_remote_size(comm);
|
||||
ompi_datatype_type_extent(recvtype, &recv_ext);
|
||||
ompi_datatype_type_extent(sendtype, &send_ext);
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
||||
* University Research and Technology
|
||||
* Corporation. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
* Copyright (c) 2004-2012 The University of Tennessee and The University
|
||||
* of Tennessee Research Foundation. All rights
|
||||
* reserved.
|
||||
* Copyright (c) 2004-2008 High Performance Computing Center Stuttgart,
|
||||
@ -49,7 +49,7 @@ int MPI_Alltoallw(void *sendbuf, int *sendcounts, int *sdispls,
|
||||
ptrdiff_t recv_ext;
|
||||
ptrdiff_t send_ext;
|
||||
|
||||
size = ompi_comm_size(comm);
|
||||
size = ompi_comm_remote_size(comm);
|
||||
|
||||
memchecker_comm(comm);
|
||||
for ( i = 0; i < size; i++ ) {
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
||||
* University Research and Technology
|
||||
* Corporation. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
* Copyright (c) 2004-2012 The University of Tennessee and The University
|
||||
* of Tennessee Research Foundation. All rights
|
||||
* reserved.
|
||||
* Copyright (c) 2004-2008 High Performance Computing Center Stuttgart,
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
||||
* University Research and Technology
|
||||
* Corporation. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
* Copyright (c) 2004-2012 The University of Tennessee and The University
|
||||
* of Tennessee Research Foundation. All rights
|
||||
* reserved.
|
||||
* Copyright (c) 2004-2008 High Performance Computing Center Stuttgart,
|
||||
@ -47,7 +47,7 @@ int MPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
|
||||
int rank;
|
||||
ptrdiff_t ext;
|
||||
|
||||
size = ompi_comm_size(comm);
|
||||
size = ompi_comm_remote_size(comm);
|
||||
rank = ompi_comm_rank(comm);
|
||||
ompi_datatype_type_extent(recvtype, &ext);
|
||||
|
||||
@ -134,12 +134,7 @@ int MPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
|
||||
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_COUNT, FUNC_NAME);
|
||||
}
|
||||
|
||||
/* We always define the remote group to be the same as the
|
||||
local group in the case of an intracommunicator, so
|
||||
it's safe to get the size of the remote group here for
|
||||
both intra- and intercommunicators */
|
||||
|
||||
size = ompi_comm_remote_size(comm);
|
||||
size = ompi_comm_size(comm);
|
||||
for (i = 0; i < size; ++i) {
|
||||
if (recvcounts[i] < 0) {
|
||||
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_COUNT, FUNC_NAME);
|
||||
@ -178,7 +173,7 @@ int MPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
|
||||
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_COUNT, FUNC_NAME);
|
||||
}
|
||||
|
||||
size = ompi_comm_size(comm);
|
||||
size = ompi_comm_remote_size(comm);
|
||||
for (i = 0; i < size; ++i) {
|
||||
if (recvcounts[i] < 0) {
|
||||
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_COUNT, FUNC_NAME);
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
||||
* University Research and Technology
|
||||
* Corporation. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
* Copyright (c) 2004-2012 The University of Tennessee and The University
|
||||
* of Tennessee Research Foundation. All rights
|
||||
* reserved.
|
||||
* Copyright (c) 2004-2008 High Performance Computing Center Stuttgart,
|
||||
@ -46,7 +46,7 @@ int MPI_Reduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts,
|
||||
MEMCHECKER(
|
||||
int rank;
|
||||
|
||||
size = ompi_comm_size(comm);
|
||||
size = ompi_comm_remote_size(comm);
|
||||
rank = ompi_comm_rank(comm);
|
||||
for (count = i = 0; i < size; ++i) {
|
||||
if (0 == recvcounts[i]) {
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
||||
* University Research and Technology
|
||||
* Corporation. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
* Copyright (c) 2004-2012 The University of Tennessee and The University
|
||||
* of Tennessee Research Foundation. All rights
|
||||
* reserved.
|
||||
* Copyright (c) 2004-2008 High Performance Computing Center Stuttgart,
|
||||
@ -46,7 +46,7 @@ int MPI_Scatterv(void *sendbuf, int *sendcounts, int *displs,
|
||||
MEMCHECKER(
|
||||
ptrdiff_t ext;
|
||||
|
||||
size = ompi_comm_size(comm);
|
||||
size = ompi_comm_remote_size(comm);
|
||||
ompi_datatype_type_extent(recvtype, &ext);
|
||||
|
||||
memchecker_comm(comm);
|
||||
@ -133,12 +133,7 @@ int MPI_Scatterv(void *sendbuf, int *sendcounts, int *displs,
|
||||
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_COUNT, FUNC_NAME);
|
||||
}
|
||||
|
||||
/* We always define the remote group to be the same as the
|
||||
local group in the case of an intracommunicator, so
|
||||
it's safe to get the size of the remote group here for
|
||||
both intra- and intercommunicators */
|
||||
|
||||
size = ompi_comm_remote_size(comm);
|
||||
size = ompi_comm_size(comm);
|
||||
for (i = 0; i < size; ++i) {
|
||||
OMPI_CHECK_DATATYPE_FOR_SEND(err, sendtype, sendcounts[i]);
|
||||
OMPI_ERRHANDLER_CHECK(err, comm, err, FUNC_NAME);
|
||||
@ -179,7 +174,7 @@ int MPI_Scatterv(void *sendbuf, int *sendcounts, int *displs,
|
||||
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_COUNT, FUNC_NAME);
|
||||
}
|
||||
|
||||
size = ompi_comm_size(comm);
|
||||
size = ompi_comm_remote_size(comm);
|
||||
for (i = 0; i < size; ++i) {
|
||||
OMPI_CHECK_DATATYPE_FOR_SEND(err, sendtype, sendcounts[i]);
|
||||
OMPI_ERRHANDLER_CHECK(err, comm, err, FUNC_NAME);
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user