1
1

Fix some linker problems with MPI_[Ir|R]educe_scatter_block:

* Ensure the profiling version is linked in
 * Ensure that PMPI variants are prototyped in mpi.h
 * Ensure weak symbols are set correctly

This commit was SVN r26649.
Этот коммит содержится в:
Jeff Squyres 2012-06-25 15:26:14 +00:00
родитель 2dbe630138
Коммит dd70f84e3d
3 изменённых файлов: 13 добавлений и 6 удалений

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

@ -2005,7 +2005,11 @@ OMPI_DECLSPEC int PMPI_Reduce_local(void *inbuf, void *inoutbuf, int count,
OMPI_DECLSPEC int PMPI_Reduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts,
MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
OMPI_DECLSPEC int PMPI_Ireduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts,
MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request);
MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request);
OMPI_DECLSPEC int PMPI_Reduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts,
MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
OMPI_DECLSPEC int PMPI_Ireduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts,
MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request);
OMPI_DECLSPEC int PMPI_Register_datarep(char *datarep,
MPI_Datarep_conversion_function *read_conversion_fn,
MPI_Datarep_conversion_function *write_conversion_fn,

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

@ -29,7 +29,7 @@
#include "ompi/memchecker.h"
#if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILING_DEFINES
#pragma weak MPI_Reduce_scatter_block = PMPI_Reduce_scatter_block
#pragma weak MPI_Ireduce_scatter_block = PMPI_Ireduce_scatter_block
#endif
#if OMPI_PROFILING_DEFINES
@ -40,7 +40,8 @@ static const char FUNC_NAME[] = "MPI_Reduce_scatter_block";
int MPI_Ireduce_scatter_block(void *sendbuf, void *recvbuf, int recvcount,
MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request)
MPI_Datatype datatype, MPI_Op op,
MPI_Comm comm, MPI_Request *request)
{
int err;
@ -99,9 +100,9 @@ int MPI_Ireduce_scatter_block(void *sendbuf, void *recvbuf, int recvcount,
OBJ_RETAIN(op);
err = comm->c_coll.coll_ireduce_scatter_block(sendbuf, recvbuf, recvcount,
datatype, op, comm,
request,
comm->c_coll.coll_reduce_scatter_block_module);
datatype, op, comm,
request,
comm->c_coll.coll_reduce_scatter_block_module);
OBJ_RELEASE(op);
OMPI_ERRHANDLER_RETURN(err, comm, err, FUNC_NAME);
}

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

@ -212,6 +212,8 @@ nodist_libmpi_c_pmpi_la_SOURCES = \
preduce_local.c \
preduce_scatter.c \
pireduce_scatter.c \
preduce_scatter_block.c \
pireduce_scatter_block.c \
prequest_c2f.c \
prequest_f2c.c \
prequest_free.c \