Adding MPI_IN_PLACE for both languages C and Fortran. Still working on the C++ and maybe F90 stuff. It's easilly
getting ugly ... This commit was SVN r7275.
Этот коммит содержится в:
родитель
a4c70dd4c3
Коммит
56f8607439
@ -214,6 +214,7 @@ typedef int (MPI_Grequest_cancel_function)(void *, int);
|
||||
* More constants
|
||||
*/
|
||||
#define MPI_BOTTOM ((void *) 0) /* base reference address */
|
||||
#define MPI_IN_PLACE ((void *) 1) /* in place buffer */
|
||||
#define MPI_BSEND_OVERHEAD 128 /* size of bsend header + ptr */
|
||||
#define MPI_MAX_INFO_KEY 36 /* max info key length */
|
||||
#define MPI_MAX_INFO_VAL 256 /* max info value length */
|
||||
|
@ -133,10 +133,11 @@
|
||||
!
|
||||
! global variables
|
||||
!
|
||||
double complex MPI_BOTTOM, MPI_ARGV_NULL
|
||||
double complex MPI_BOTTOM, MPI_IN_PLACE, MPI_ARGV_NULL
|
||||
double complex MPI_ARGVS_NULL, MPI_ERRCODES_IGNORE
|
||||
double complex MPI_STATUS_IGNORE, MPI_STATUSES_IGNORE
|
||||
common/mpi_fortran_bottom/MPI_BOTTOM
|
||||
common/mpi_fortran_in_place/MPI_IN_PLACE
|
||||
common/mpi_fortran_argv_null/MPI_ARGV_NULL
|
||||
common/mpi_fortran_argvs_null/MPI_ARGVS_NULL
|
||||
common/mpi_fortran_errcodes_ignore/MPI_ERRCODES_IGNORE
|
||||
|
@ -87,6 +87,8 @@ OMPI_DECLSPEC extern ompi_fortran_common_t double_u
|
||||
|
||||
DECL(MPI_FORTRAN_BOTTOM, mpi_fortran_bottom,
|
||||
mpi_fortran_bottom_, mpi_fortran_bottom__);
|
||||
DECL(MPI_FORTRAN_IN_PLACE, mpi_fortran_in_place,
|
||||
mpi_fortran_in_place_, mpi_fortran_in_place__);
|
||||
DECL(MPI_FORTRAN_ARGV_NULL, mpi_fortran_argv_null,
|
||||
mpi_fortran_argv_null_, mpi_fortran_argv_null__);
|
||||
DECL(MPI_FORTRAN_ARGVS_NULL, mpi_fortran_argvs_null,
|
||||
@ -108,6 +110,11 @@ DECL(MPI_FORTRAN_STATUSES_IGNORE, mpi_fortran_statuses_ignore,
|
||||
addr == (void*) &mpi_fortran_bottom || \
|
||||
addr == (void*) &mpi_fortran_bottom_ || \
|
||||
addr == (void*) &mpi_fortran_bottom__)
|
||||
#define OMPI_IS_FORTRAN_IN_PLACE(addr) \
|
||||
(addr == (void*) &MPI_FORTRAN_IN_PLACE || \
|
||||
addr == (void*) &mpi_fortran_in_place || \
|
||||
addr == (void*) &mpi_fortran_in_place_ || \
|
||||
addr == (void*) &mpi_fortran_in_place__)
|
||||
#define OMPI_IS_FORTRAN_ARGV_NULL(addr) \
|
||||
(addr == (void*) &MPI_FORTRAN_ARGV_NULL || \
|
||||
addr == (void*) &mpi_fortran_argv_null || \
|
||||
@ -137,6 +144,8 @@ DECL(MPI_FORTRAN_STATUSES_IGNORE, mpi_fortran_statuses_ignore,
|
||||
#elif OMPI_F77_CAPS
|
||||
#define OMPI_IS_FORTRAN_BOTTOM(addr) \
|
||||
(addr == (void*) &MPI_FORTRAN_BOTTOM)
|
||||
#define OMPI_IS_FORTRAN_IN_PLACE(addr) \
|
||||
(addr == (void*) &MPI_FORTRAN_IN_PLACE)
|
||||
#define OMPI_IS_FORTRAN_ARGV_NULL(addr) \
|
||||
(addr == (void*) &MPI_FORTRAN_ARGV_NULL)
|
||||
#define OMPI_IS_FORTRAN_ARGVS_NULL(addr) \
|
||||
@ -151,6 +160,8 @@ DECL(MPI_FORTRAN_STATUSES_IGNORE, mpi_fortran_statuses_ignore,
|
||||
#elif OMPI_F77_PLAIN
|
||||
#define OMPI_IS_FORTRAN_BOTTOM(addr) \
|
||||
(addr == (void*) &mpi_fortran_bottom)
|
||||
#define OMPI_IS_FORTRAN_IN_PLACE(addr) \
|
||||
(addr == (void*) &mpi_fortran_in_place)
|
||||
#define OMPI_IS_FORTRAN_ARGV_NULL(addr) \
|
||||
(addr == (void*) &mpi_fortran_argv_null)
|
||||
#define OMPI_IS_FORTRAN_ARGVS_NULL(addr) \
|
||||
@ -165,6 +176,8 @@ DECL(MPI_FORTRAN_STATUSES_IGNORE, mpi_fortran_statuses_ignore,
|
||||
#elif OMPI_F77_SINGLE_UNDERSCORE
|
||||
#define OMPI_IS_FORTRAN_BOTTOM(addr) \
|
||||
(addr == (void*) &mpi_fortran_bottom)
|
||||
#define OMPI_IS_FORTRAN_IN_PLACE(addr) \
|
||||
(addr == (void*) &mpi_fortran_in_place)
|
||||
#define OMPI_IS_FORTRAN_ARGV_NULL(addr) \
|
||||
(addr == (void*) &mpi_fortran_argv_null)
|
||||
#define OMPI_IS_FORTRAN_ARGVS_NULL(addr) \
|
||||
@ -179,6 +192,8 @@ DECL(MPI_FORTRAN_STATUSES_IGNORE, mpi_fortran_statuses_ignore,
|
||||
#else
|
||||
#define OMPI_IS_FORTRAN_BOTTOM(addr) \
|
||||
(addr == (void*) &mpi_fortran_bottom)
|
||||
#define OMPI_IS_FORTRAN_IN_PLACE(addr) \
|
||||
(addr == (void*) &mpi_fortran_in_place)
|
||||
#define OMPI_IS_FORTRAN_ARGV_NULL(addr) \
|
||||
(addr == (void*) &mpi_fortran_argv_null)
|
||||
#define OMPI_IS_FORTRAN_ARGVS_NULL(addr) \
|
||||
|
@ -27,6 +27,8 @@ ompi_fortran_common_t double_u
|
||||
|
||||
INST(MPI_FORTRAN_BOTTOM, mpi_fortran_bottom,
|
||||
mpi_fortran_bottom_, mpi_fortran_bottom__);
|
||||
INST(MPI_FORTRAN_IN_PLACE, mpi_fortran_in_place,
|
||||
mpi_fortran_in_place_, mpi_fortran_in_place__);
|
||||
INST(MPI_FORTRAN_ARGV_NULL, mpi_fortran_argv_null,
|
||||
mpi_fortran_argv_null_, mpi_fortran_argv_null__);
|
||||
INST(MPI_FORTRAN_ARGVS_NULL, mpi_fortran_argvs_null,
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user