1
1

Convert all buffers from Fortran to C. This allow us to catch the

MPI_BOTTOM. Let the C functions do the checkings for where MPI_BOTTOM
is allowed and where not.

This commit was SVN r15030.
Этот коммит содержится в:
George Bosilca 2007-06-12 23:13:56 +00:00
родитель c70566dfe7
Коммит 15f9e58c68
15 изменённых файлов: 31 добавлений и 24 удалений

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

@ -73,10 +73,10 @@ void mpi_allgather_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
sendbuf = MPI_IN_PLACE;
}
*ierr = OMPI_INT_2_FINT(MPI_Allgather(sendbuf,
*ierr = OMPI_INT_2_FINT(MPI_Allgather(OMPI_ADDR(sendbuf),
OMPI_FINT_2_INT(*sendcount),
c_sendtype,
recvbuf,
OMPI_ADDR(recvbuf),
OMPI_FINT_2_INT(*recvcount),
c_recvtype, c_comm));

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

@ -80,10 +80,10 @@ void mpi_allgatherv_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
sendbuf = MPI_IN_PLACE;
}
*ierr = OMPI_INT_2_FINT(MPI_Allgatherv(sendbuf,
*ierr = OMPI_INT_2_FINT(MPI_Allgatherv(OMPI_ADDR(sendbuf),
OMPI_FINT_2_INT(*sendcount),
c_sendtype,
recvbuf,
OMPI_ADDR(recvbuf),
OMPI_ARRAY_NAME_CONVERT(recvcounts),
OMPI_ARRAY_NAME_CONVERT(displs),
c_recvtype, c_comm));

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

@ -74,7 +74,7 @@ void mpi_allreduce_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
sendbuf = MPI_IN_PLACE;
}
*ierr = OMPI_INT_2_FINT(MPI_Allreduce(sendbuf, recvbuf,
*ierr = OMPI_INT_2_FINT(MPI_Allreduce(OMPI_ADDR(sendbuf), OMPI_ADDR(recvbuf),
OMPI_FINT_2_INT(*count),
c_type, c_op, c_comm));
}

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

@ -19,6 +19,7 @@
#include "ompi_config.h"
#include "ompi/mpi/f77/bindings.h"
#include "ompi/mpi/f77/constants.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_ALLTOALL = mpi_alltoall_f
@ -68,10 +69,10 @@ void mpi_alltoall_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
c_sendtype = MPI_Type_f2c(*sendtype);
c_recvtype = MPI_Type_f2c(*recvtype);
*ierr = OMPI_INT_2_FINT(MPI_Alltoall(sendbuf,
*ierr = OMPI_INT_2_FINT(MPI_Alltoall(OMPI_ADDR(sendbuf),
OMPI_FINT_2_INT(*sendcount),
c_sendtype,
recvbuf,
OMPI_ADDR(recvbuf),
OMPI_FINT_2_INT(*recvcount),
c_recvtype, c_comm));
}

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

@ -19,6 +19,7 @@
#include "ompi_config.h"
#include "ompi/mpi/f77/bindings.h"
#include "ompi/mpi/f77/constants.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_ALLTOALLV = mpi_alltoallv_f
@ -81,11 +82,11 @@ void mpi_alltoallv_f(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls,
OMPI_ARRAY_FINT_2_INT(rdispls, size);
*ierr = OMPI_INT_2_FINT(MPI_Alltoallv(sendbuf,
*ierr = OMPI_INT_2_FINT(MPI_Alltoallv(OMPI_ADDR(sendbuf),
OMPI_ARRAY_NAME_CONVERT(sendcounts),
OMPI_ARRAY_NAME_CONVERT(sdispls),
c_sendtype,
recvbuf,
OMPI_ADDR(recvbuf),
OMPI_ARRAY_NAME_CONVERT(recvcounts),
OMPI_ARRAY_NAME_CONVERT(rdispls),
c_recvtype, c_comm));

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

@ -19,6 +19,7 @@
#include "ompi_config.h"
#include "ompi/mpi/f77/bindings.h"
#include "ompi/mpi/f77/constants.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_ALLTOALLW = mpi_alltoallw_f
@ -88,11 +89,11 @@ void mpi_alltoallw_f(char *sendbuf, MPI_Fint *sendcounts,
--size;
}
*ierr = OMPI_INT_2_FINT(MPI_Alltoallw(sendbuf,
*ierr = OMPI_INT_2_FINT(MPI_Alltoallw(OMPI_ADDR(sendbuf),
OMPI_ARRAY_NAME_CONVERT(sendcounts),
OMPI_ARRAY_NAME_CONVERT(sdispls),
c_sendtypes,
recvbuf,
OMPI_ADDR(recvbuf),
OMPI_ARRAY_NAME_CONVERT(recvcounts),
OMPI_ARRAY_NAME_CONVERT(rdispls),
c_recvtypes, c_comm));

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

@ -19,6 +19,7 @@
#include "ompi_config.h"
#include "ompi/mpi/f77/bindings.h"
#include "ompi/mpi/f77/constants.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_BCAST = mpi_bcast_f
@ -66,7 +67,7 @@ void mpi_bcast_f(char *buffer, MPI_Fint *count, MPI_Fint *datatype,
c_comm = MPI_Comm_f2c(*comm);
c_type = MPI_Type_f2c(*datatype);
*ierr = OMPI_INT_2_FINT(MPI_Bcast(buffer,
*ierr = OMPI_INT_2_FINT(MPI_Bcast(OMPI_ADDR(buffer),
OMPI_FINT_2_INT(*count),
c_type,
OMPI_FINT_2_INT(*root),

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

@ -19,6 +19,7 @@
#include "ompi_config.h"
#include "ompi/mpi/f77/bindings.h"
#include "ompi/mpi/f77/constants.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_EXSCAN = mpi_exscan_f
@ -69,7 +70,7 @@ void mpi_exscan_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
c_type = MPI_Type_f2c(*datatype);
c_op = MPI_Op_f2c(*op);
*ierr = OMPI_INT_2_FINT(MPI_Exscan(sendbuf, recvbuf,
*ierr = OMPI_INT_2_FINT(MPI_Exscan(OMPI_ADDR(sendbuf), OMPI_ADDR(recvbuf),
OMPI_FINT_2_INT(*count),
c_type, c_op, c_comm));
}

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

@ -73,8 +73,9 @@ void mpi_gather_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
sendbuf = MPI_IN_PLACE;
}
*ierr = OMPI_INT_2_FINT(MPI_Gather(sendbuf, OMPI_FINT_2_INT(*sendcount),
c_sendtype, recvbuf,
*ierr = OMPI_INT_2_FINT(MPI_Gather(OMPI_ADDR(sendbuf),
OMPI_FINT_2_INT(*sendcount),
c_sendtype, OMPI_ADDR(recvbuf),
OMPI_FINT_2_INT(*recvcount),
c_recvtype,
OMPI_FINT_2_INT(*root),

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

@ -81,8 +81,9 @@ void mpi_gatherv_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
sendbuf = MPI_IN_PLACE;
}
*ierr = OMPI_INT_2_FINT(MPI_Gatherv(sendbuf, OMPI_FINT_2_INT(*sendcount),
c_sendtype, recvbuf,
*ierr = OMPI_INT_2_FINT(MPI_Gatherv(OMPI_ADDR(sendbuf),
OMPI_FINT_2_INT(*sendcount),
c_sendtype, OMPI_ADDR(recvbuf),
OMPI_ARRAY_NAME_CONVERT(recvcounts),
OMPI_ARRAY_NAME_CONVERT(displs),
c_recvtype,

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

@ -74,7 +74,7 @@ void mpi_reduce_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
sendbuf = MPI_IN_PLACE;
}
*ierr = OMPI_INT_2_FINT(MPI_Reduce(sendbuf, recvbuf,
*ierr = OMPI_INT_2_FINT(MPI_Reduce(OMPI_ADDR(sendbuf), OMPI_ADDR(recvbuf),
OMPI_FINT_2_INT(*count),
c_type, c_op,
OMPI_FINT_2_INT(*root),

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

@ -79,7 +79,7 @@ void mpi_reduce_scatter_f(char *sendbuf, char *recvbuf,
sendbuf = MPI_IN_PLACE;
}
*ierr = OMPI_INT_2_FINT(MPI_Reduce_scatter(sendbuf, recvbuf,
*ierr = OMPI_INT_2_FINT(MPI_Reduce_scatter(OMPI_ADDR(sendbuf), OMPI_ADDR(recvbuf),
OMPI_ARRAY_NAME_CONVERT(recvcounts),
c_type, c_op, c_comm));
}

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

@ -74,7 +74,7 @@ void mpi_scan_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
sendbuf = MPI_IN_PLACE;
}
*ierr = OMPI_INT_2_FINT(MPI_Scan(sendbuf, recvbuf,
*ierr = OMPI_INT_2_FINT(MPI_Scan(OMPI_ADDR(sendbuf), OMPI_ADDR(recvbuf),
OMPI_FINT_2_INT(*count),
c_type, c_op,
c_comm));

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

@ -73,8 +73,8 @@ void mpi_scatter_f(char *sendbuf, MPI_Fint *sendcount,
sendbuf = MPI_IN_PLACE;
}
*ierr = OMPI_INT_2_FINT(MPI_Scatter(sendbuf,OMPI_FINT_2_INT(*sendcount),
c_sendtype, recvbuf,
*ierr = OMPI_INT_2_FINT(MPI_Scatter(OMPI_ADDR(sendbuf),OMPI_FINT_2_INT(*sendcount),
c_sendtype, OMPI_ADDR(recvbuf),
OMPI_FINT_2_INT(*recvcount),
c_recvtype,
OMPI_FINT_2_INT(*root), c_comm));

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

@ -82,10 +82,10 @@ void mpi_scatterv_f(char *sendbuf, MPI_Fint *sendcounts,
sendbuf = MPI_IN_PLACE;
}
*ierr = OMPI_INT_2_FINT(MPI_Scatterv(sendbuf,
*ierr = OMPI_INT_2_FINT(MPI_Scatterv(OMPI_ADDR(sendbuf),
OMPI_ARRAY_NAME_CONVERT(sendcounts),
OMPI_ARRAY_NAME_CONVERT(displs),
c_sendtype, recvbuf,
c_sendtype, OMPI_ADDR(recvbuf),
OMPI_FINT_2_INT(*recvcount),
c_recvtype,
OMPI_FINT_2_INT(*root), c_comm));