Since we've found a few MPI_Fint/MPI_Aint problems in the F77 bindings
recently, I went through and took a closer look this afternoon and fixed a bunch more places where this problem occurred. This commit was SVN r13166.
Этот коммит содержится в:
родитель
860fd63710
Коммит
a3aae09ca3
4
NEWS
4
NEWS
@ -30,7 +30,7 @@ Trunk (not on release branches yet)
|
||||
-----------------------------------
|
||||
|
||||
- Addition of "dr" (data reliability) PML.
|
||||
--> Expected: ?1.2?
|
||||
--> Expected: 1.3
|
||||
- Added threaded progress for the openib BTL.
|
||||
--> Expected: ?1.3?
|
||||
- Added Microsoft Windows support. See README.WINDOWS file for
|
||||
@ -41,6 +41,8 @@ Trunk (not on release branches yet)
|
||||
1.2
|
||||
---
|
||||
|
||||
- Fix a bunch of places in the Fortran MPI bindings where MPI_Fint was
|
||||
mistakenly being used instead of MPI_Aint.
|
||||
- Fixes for endian handling in MPI process startup.
|
||||
- Openib BTL initialization fixes for cases where MPI processes in the
|
||||
same job has different numbers of active ports on the same physical
|
||||
|
@ -9,6 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -32,7 +33,7 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_COMM_CREATE_KEYVAL,
|
||||
pmpi_comm_create_keyval_,
|
||||
pmpi_comm_create_keyval__,
|
||||
pmpi_comm_create_keyval_f,
|
||||
(ompi_mpi2_fortran_copy_attr_function* comm_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* comm_delete_attr_fn, MPI_Fint *comm_keyval, MPI_Fint *extra_state, MPI_Fint *ierr),
|
||||
(ompi_mpi2_fortran_copy_attr_function* comm_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* comm_delete_attr_fn, MPI_Fint *comm_keyval, MPI_Aint *extra_state, MPI_Fint *ierr),
|
||||
(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state, ierr) )
|
||||
#endif
|
||||
|
||||
@ -49,7 +50,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_CREATE_KEYVAL,
|
||||
mpi_comm_create_keyval_,
|
||||
mpi_comm_create_keyval__,
|
||||
mpi_comm_create_keyval_f,
|
||||
(ompi_mpi2_fortran_copy_attr_function* comm_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* comm_delete_attr_fn, MPI_Fint *comm_keyval, MPI_Fint *extra_state, MPI_Fint *ierr),
|
||||
(ompi_mpi2_fortran_copy_attr_function* comm_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* comm_delete_attr_fn, MPI_Fint *comm_keyval, MPI_Aint *extra_state, MPI_Fint *ierr),
|
||||
(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state, ierr) )
|
||||
#endif
|
||||
|
||||
@ -63,7 +64,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_CREATE_KEYVAL,
|
||||
void mpi_comm_create_keyval_f(ompi_mpi2_fortran_copy_attr_function* comm_copy_attr_fn,
|
||||
ompi_mpi2_fortran_delete_attr_function* comm_delete_attr_fn,
|
||||
MPI_Fint *comm_keyval,
|
||||
MPI_Fint *extra_state, MPI_Fint *ierr)
|
||||
MPI_Aint *extra_state, MPI_Fint *ierr)
|
||||
{
|
||||
int ret, c_err;
|
||||
ompi_attribute_fn_ptr_union_t copy_fn;
|
||||
|
@ -9,6 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -31,7 +32,7 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_FILE_GET_TYPE_EXTENT,
|
||||
pmpi_file_get_type_extent_,
|
||||
pmpi_file_get_type_extent__,
|
||||
pmpi_file_get_type_extent_f,
|
||||
(MPI_Fint *fh, MPI_Fint *datatype, MPI_Fint *extent, MPI_Fint *ierr),
|
||||
(MPI_Fint *fh, MPI_Fint *datatype, MPI_Aint *extent, MPI_Fint *ierr),
|
||||
(fh, datatype, extent, ierr) )
|
||||
#endif
|
||||
|
||||
@ -48,7 +49,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_GET_TYPE_EXTENT,
|
||||
mpi_file_get_type_extent_,
|
||||
mpi_file_get_type_extent__,
|
||||
mpi_file_get_type_extent_f,
|
||||
(MPI_Fint *fh, MPI_Fint *datatype, MPI_Fint *extent, MPI_Fint *ierr),
|
||||
(MPI_Fint *fh, MPI_Fint *datatype, MPI_Aint *extent, MPI_Fint *ierr),
|
||||
(fh, datatype, extent, ierr) )
|
||||
#endif
|
||||
|
||||
@ -58,16 +59,12 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_GET_TYPE_EXTENT,
|
||||
#endif
|
||||
|
||||
void mpi_file_get_type_extent_f(MPI_Fint *fh, MPI_Fint *datatype,
|
||||
MPI_Fint *extent, MPI_Fint *ierr)
|
||||
MPI_Aint *extent, MPI_Fint *ierr)
|
||||
{
|
||||
MPI_File c_fh = MPI_File_f2c(*fh);
|
||||
MPI_Aint c_extent;
|
||||
MPI_Datatype c_type;
|
||||
|
||||
c_type = MPI_Type_f2c(*datatype);
|
||||
|
||||
*ierr = OMPI_INT_2_FINT(MPI_File_get_type_extent(c_fh, c_type, &c_extent));
|
||||
if (MPI_SUCCESS == OMPI_FINT_2_INT(*ierr)) {
|
||||
*extent = (MPI_Fint) c_extent;
|
||||
}
|
||||
*ierr = OMPI_INT_2_FINT(MPI_File_get_type_extent(c_fh, c_type, extent));
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2006-2007 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -32,7 +32,7 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_GREQUEST_START,
|
||||
pmpi_grequest_start_,
|
||||
pmpi_grequest_start__,
|
||||
pmpi_grequest_start_f,
|
||||
(MPI_F_Grequest_query_function* query_fn, MPI_F_Grequest_free_function* free_fn, MPI_F_Grequest_cancel_function* cancel_fn, MPI_Fint *extra_state, MPI_Fint *request, MPI_Fint *ierr),
|
||||
(MPI_F_Grequest_query_function* query_fn, MPI_F_Grequest_free_function* free_fn, MPI_F_Grequest_cancel_function* cancel_fn, MPI_Aint *extra_state, MPI_Fint *request, MPI_Fint *ierr),
|
||||
(query_fn, free_fn, cancel_fn, extra_state, request, ierr) )
|
||||
#endif
|
||||
|
||||
@ -49,7 +49,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_GREQUEST_START,
|
||||
mpi_grequest_start_,
|
||||
mpi_grequest_start__,
|
||||
mpi_grequest_start_f,
|
||||
(MPI_F_Grequest_query_function* query_fn, MPI_F_Grequest_free_function* free_fn, MPI_F_Grequest_cancel_function* cancel_fn, MPI_Fint *extra_state, MPI_Fint *request, MPI_Fint *ierr),
|
||||
(MPI_F_Grequest_query_function* query_fn, MPI_F_Grequest_free_function* free_fn, MPI_F_Grequest_cancel_function* cancel_fn, MPI_Aint *extra_state, MPI_Fint *request, MPI_Fint *ierr),
|
||||
(query_fn, free_fn, cancel_fn, extra_state, request, ierr) )
|
||||
#endif
|
||||
|
||||
@ -61,7 +61,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_GREQUEST_START,
|
||||
void mpi_grequest_start_f(MPI_F_Grequest_query_function* query_fn,
|
||||
MPI_F_Grequest_free_function* free_fn,
|
||||
MPI_F_Grequest_cancel_function* cancel_fn,
|
||||
MPI_Fint *extra_state,
|
||||
MPI_Aint *extra_state,
|
||||
MPI_Fint *request, MPI_Fint *ierr)
|
||||
{
|
||||
MPI_Request c_req;
|
||||
|
@ -9,6 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -31,7 +32,7 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_PACK_EXTERNAL_SIZE,
|
||||
pmpi_pack_external_size_,
|
||||
pmpi_pack_external_size__,
|
||||
pmpi_pack_external_size_f,
|
||||
(char *datarep, MPI_Fint *incount, MPI_Fint *datatype, MPI_Fint *size, MPI_Fint *ierr),
|
||||
(char *datarep, MPI_Fint *incount, MPI_Fint *datatype, MPI_Aint *size, MPI_Fint *ierr),
|
||||
(datarep, incount, datatype, size, ierr) )
|
||||
#endif
|
||||
|
||||
@ -48,7 +49,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_PACK_EXTERNAL_SIZE,
|
||||
mpi_pack_external_size_,
|
||||
mpi_pack_external_size__,
|
||||
mpi_pack_external_size_f,
|
||||
(char *datarep, MPI_Fint *incount, MPI_Fint *datatype, MPI_Fint *size, MPI_Fint *ierr),
|
||||
(char *datarep, MPI_Fint *incount, MPI_Fint *datatype, MPI_Aint *size, MPI_Fint *ierr),
|
||||
(datarep, incount, datatype, size, ierr) )
|
||||
#endif
|
||||
|
||||
@ -58,12 +59,12 @@ OMPI_GENERATE_F77_BINDINGS (MPI_PACK_EXTERNAL_SIZE,
|
||||
#endif
|
||||
|
||||
void mpi_pack_external_size_f(char *datarep, MPI_Fint *incount,
|
||||
MPI_Fint *datatype, MPI_Fint *size,
|
||||
MPI_Fint *datatype, MPI_Aint *size,
|
||||
MPI_Fint *ierr)
|
||||
{
|
||||
MPI_Datatype type = MPI_Type_f2c(*datatype);
|
||||
|
||||
*ierr = OMPI_INT_2_FINT(MPI_Pack_external_size(datarep,
|
||||
OMPI_FINT_2_INT(*incount),
|
||||
type, (MPI_Aint *)size));
|
||||
type, size));
|
||||
}
|
||||
|
@ -92,7 +92,7 @@ PN(void, mpi_comm_call_errhandler, MPI_COMM_CALL_ERRHANDLER, (MPI_Fint *comm, MP
|
||||
PN(void, mpi_comm_compare, MPI_COMM_COMPARE, (MPI_Fint *comm1, MPI_Fint *comm2, MPI_Fint *result, MPI_Fint *ierr));
|
||||
PN(void, mpi_comm_connect, MPI_COMM_CONNECT, (char *port_name, MPI_Fint *info, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *newcomm, MPI_Fint *ierr, int port_name_len));
|
||||
PN(void, mpi_comm_create_errhandler, MPI_COMM_CREATE_ERRHANDLER, (ompi_errhandler_fortran_handler_fn_t* function, MPI_Fint *errhandler, MPI_Fint *ierr));
|
||||
PN(void, mpi_comm_create_keyval, MPI_COMM_CREATE_KEYVAL, (ompi_mpi2_fortran_copy_attr_function* comm_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* comm_delete_attr_fn, MPI_Fint *comm_keyval, MPI_Fint *extra_state, MPI_Fint *ierr));
|
||||
PN(void, mpi_comm_create_keyval, MPI_COMM_CREATE_KEYVAL, (ompi_mpi2_fortran_copy_attr_function* comm_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* comm_delete_attr_fn, MPI_Fint *comm_keyval, MPI_Aint *extra_state, MPI_Fint *ierr));
|
||||
PN(void, mpi_comm_create, MPI_COMM_CREATE, (MPI_Fint *comm, MPI_Fint *group, MPI_Fint *newcomm, MPI_Fint *ierr));
|
||||
PN(void, mpi_comm_delete_attr, MPI_COMM_DELETE_ATTR, (MPI_Fint *comm, MPI_Fint *comm_keyval, MPI_Fint *ierr));
|
||||
PN(void, mpi_comm_disconnect, MPI_COMM_DISCONNECT, (MPI_Fint *comm, MPI_Fint *ierr));
|
||||
@ -175,7 +175,7 @@ PN(void, mpi_file_read_ordered_begin, MPI_FILE_READ_ORDERED_BEGIN, (MPI_Fint *fh
|
||||
PN(void, mpi_file_read_ordered_end, MPI_FILE_READ_ORDERED_END, (MPI_Fint *fh, char *buf, MPI_Fint *status, MPI_Fint *ierr));
|
||||
PN(void, mpi_file_write_ordered_begin, MPI_FILE_WRITE_ORDERED_BEGIN, (MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *ierr));
|
||||
PN(void, mpi_file_write_ordered_end, MPI_FILE_WRITE_ORDERED_END, (MPI_Fint *fh, char *buf, MPI_Fint *status, MPI_Fint *ierr));
|
||||
PN(void, mpi_file_get_type_extent, MPI_FILE_GET_TYPE_EXTENT, (MPI_Fint *fh, MPI_Fint *datatype, MPI_Fint *extent, MPI_Fint *ierr));
|
||||
PN(void, mpi_file_get_type_extent, MPI_FILE_GET_TYPE_EXTENT, (MPI_Fint *fh, MPI_Fint *datatype, MPI_Aint *extent, MPI_Fint *ierr));
|
||||
PN(void, mpi_file_set_atomicity, MPI_FILE_SET_ATOMICITY, (MPI_Fint *fh, MPI_Flogical *flag, MPI_Fint *ierr));
|
||||
PN(void, mpi_file_get_atomicity, MPI_FILE_GET_ATOMICITY, (MPI_Fint *fh, MPI_Flogical *flag, MPI_Fint *ierr));
|
||||
PN(void, mpi_file_sync, MPI_FILE_SYNC, (MPI_Fint *fh, MPI_Fint *ierr));
|
||||
@ -197,7 +197,7 @@ PN(void, mpi_graph_neighbors_count, MPI_GRAPH_NEIGHBORS_COUNT, (MPI_Fint *comm,
|
||||
PN(void, mpi_graph_neighbors, MPI_GRAPH_NEIGHBORS, (MPI_Fint *comm, MPI_Fint *rank, MPI_Fint *maxneighbors, MPI_Fint *neighbors, MPI_Fint *ierr));
|
||||
PN(void, mpi_graphdims_get, MPI_GRAPHDIMS_GET, (MPI_Fint *comm, MPI_Fint *nnodes, MPI_Fint *nedges, MPI_Fint *ierr));
|
||||
PN(void, mpi_grequest_complete, MPI_GREQUEST_COMPLETE, (MPI_Fint *request, MPI_Fint *ierr));
|
||||
PN(void, mpi_grequest_start, MPI_GREQUEST_START, (MPI_F_Grequest_query_function* query_fn, MPI_F_Grequest_free_function* free_fn, MPI_F_Grequest_cancel_function* cancel_fn, MPI_Fint *extra_state, MPI_Fint *request, MPI_Fint *ierr));
|
||||
PN(void, mpi_grequest_start, MPI_GREQUEST_START, (MPI_F_Grequest_query_function* query_fn, MPI_F_Grequest_free_function* free_fn, MPI_F_Grequest_cancel_function* cancel_fn, MPI_Aint *extra_state, MPI_Fint *request, MPI_Fint *ierr));
|
||||
PN(void, mpi_group_compare, MPI_GROUP_COMPARE, (MPI_Fint *group1, MPI_Fint *group2, MPI_Fint *result, MPI_Fint *ierr));
|
||||
PN(void, mpi_group_difference, MPI_GROUP_DIFFERENCE, (MPI_Fint *group1, MPI_Fint *group2, MPI_Fint *newgroup, MPI_Fint *ierr));
|
||||
PN(void, mpi_group_excl, MPI_GROUP_EXCL, (MPI_Fint *group, MPI_Fint *n, MPI_Fint *ranks, MPI_Fint *newgroup, MPI_Fint *ierr));
|
||||
@ -238,7 +238,7 @@ PN(void, mpi_op_create, MPI_OP_CREATE, (ompi_op_fortran_handler_fn_t* function,
|
||||
PN(void, mpi_open_port, MPI_OPEN_PORT, (MPI_Fint *info, char *port_name, MPI_Fint *ierr, int port_name_len));
|
||||
PN(void, mpi_op_free, MPI_OP_FREE, (MPI_Fint *op, MPI_Fint *ierr));
|
||||
PN(void, mpi_pack_external, MPI_PACK_EXTERNAL, (char *datarep, char *inbuf, MPI_Fint *incount, MPI_Fint *datatype, char *outbuf, MPI_Aint *outsize, MPI_Aint *position, MPI_Fint *ierr));
|
||||
PN(void, mpi_pack_external_size, MPI_PACK_EXTERNAL_SIZE, (char *datarep, MPI_Fint *incount, MPI_Fint *datatype, MPI_Fint *size, MPI_Fint *ierr));
|
||||
PN(void, mpi_pack_external_size, MPI_PACK_EXTERNAL_SIZE, (char *datarep, MPI_Fint *incount, MPI_Fint *datatype, MPI_Aint *size, MPI_Fint *ierr));
|
||||
PN(void, mpi_pack, MPI_PACK, (char *inbuf, MPI_Fint *incount, MPI_Fint *datatype, char *outbuf, MPI_Fint *outsize, MPI_Fint *position, MPI_Fint *comm, MPI_Fint *ierr));
|
||||
PN(void, mpi_pack_size, MPI_PACK_SIZE, (MPI_Fint *incount, MPI_Fint *datatype, MPI_Fint *comm, MPI_Fint *size, MPI_Fint *ierr));
|
||||
PN(void, mpi_pcontrol, MPI_PCONTROL, (MPI_Fint *level));
|
||||
@ -250,7 +250,7 @@ PN(void, mpi_recv_init, MPI_RECV_INIT, (char *buf, MPI_Fint *count, MPI_Fint *da
|
||||
PN(void, mpi_recv, MPI_RECV, (char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *source, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *status, MPI_Fint *ierr));
|
||||
PN(void, mpi_reduce, MPI_REDUCE, (char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *ierr));
|
||||
PN(void, mpi_reduce_scatter, MPI_REDUCE_SCATTER, (char *sendbuf, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *ierr));
|
||||
PN(void, mpi_register_datarep, MPI_REGISTER_DATAREP, (char *datarep, void *read_conversion_fn, void *write_conversion_fn, void *dtype_file_extent_fn, MPI_Fint *extra_state, MPI_Fint *ierr, int datarep_len));
|
||||
PN(void, mpi_register_datarep, MPI_REGISTER_DATAREP, (char *datarep, void *read_conversion_fn, void *write_conversion_fn, void *dtype_file_extent_fn, MPI_Aint *extra_state, MPI_Fint *ierr, int datarep_len));
|
||||
PN(void, mpi_request_free, MPI_REQUEST_FREE, (MPI_Fint *request, MPI_Fint *ierr));
|
||||
PN(void, mpi_request_get_status, MPI_REQUEST_GET_STATUS, (MPI_Fint *request, MPI_Flogical *flag, MPI_Fint *status, MPI_Fint *ierr));
|
||||
PN(void, mpi_rsend, MPI_RSEND, (char *ibuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *ierr));
|
||||
@ -282,7 +282,7 @@ PN(void, mpi_type_create_f90_integer, MPI_TYPE_CREATE_F90_INTEGER, (MPI_Fint *r,
|
||||
PN(void, mpi_type_create_f90_real, MPI_TYPE_CREATE_F90_REAL, (MPI_Fint *p, MPI_Fint *r, MPI_Fint *newtype, MPI_Fint *ierr));
|
||||
PN(void, mpi_type_create_hindexed, MPI_TYPE_CREATE_HINDEXED, (MPI_Fint *count, MPI_Fint *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr));
|
||||
PN(void, mpi_type_create_hvector, MPI_TYPE_CREATE_HVECTOR, (MPI_Fint *count, MPI_Fint *blocklength, MPI_Aint *stride, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr));
|
||||
PN(void, mpi_type_create_keyval, MPI_TYPE_CREATE_KEYVAL, (ompi_mpi2_fortran_copy_attr_function* type_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* type_delete_attr_fn, MPI_Fint *type_keyval, MPI_Fint *extra_state, MPI_Fint *ierr));
|
||||
PN(void, mpi_type_create_keyval, MPI_TYPE_CREATE_KEYVAL, (ompi_mpi2_fortran_copy_attr_function* type_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* type_delete_attr_fn, MPI_Fint *type_keyval, MPI_Aint *extra_state, MPI_Fint *ierr));
|
||||
PN(void, mpi_type_create_indexed_block, MPI_TYPE_CREATE_INDEXED_BLOCK, (MPI_Fint *count, MPI_Fint *blocklength, MPI_Fint *array_of_displacements, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr));
|
||||
PN(void, mpi_type_create_struct, MPI_TYPE_CREATE_STRUCT, (MPI_Fint *count, MPI_Fint *array_of_block_lengths, MPI_Aint *array_of_displacements, MPI_Fint *array_of_types, MPI_Fint *newtype, MPI_Fint *ierr));
|
||||
PN(void, mpi_type_create_subarray, MPI_TYPE_CREATE_SUBARRAY, (MPI_Fint *ndims, MPI_Fint *size_array, MPI_Fint *subsize_array, MPI_Fint *start_array, MPI_Fint *order, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr));
|
||||
@ -320,7 +320,7 @@ PN(void, mpi_win_call_errhandler, MPI_WIN_CALL_ERRHANDLER, (MPI_Fint *win, MPI_F
|
||||
PN(void, mpi_win_complete, MPI_WIN_COMPLETE, (MPI_Fint *win, MPI_Fint *ierr));
|
||||
PN(void, mpi_win_create, MPI_WIN_CREATE, (char *base, MPI_Aint *size, MPI_Fint *disp_unit, MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr));
|
||||
PN(void, mpi_win_create_errhandler, MPI_WIN_CREATE_ERRHANDLER, (ompi_errhandler_fortran_handler_fn_t* function, MPI_Fint *errhandler, MPI_Fint *ierr));
|
||||
PN(void, mpi_win_create_keyval, MPI_WIN_CREATE_KEYVAL, (ompi_mpi2_fortran_copy_attr_function* win_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* win_delete_attr_fn, MPI_Fint *win_keyval, MPI_Fint *extra_state, MPI_Fint *ierr));
|
||||
PN(void, mpi_win_create_keyval, MPI_WIN_CREATE_KEYVAL, (ompi_mpi2_fortran_copy_attr_function* win_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* win_delete_attr_fn, MPI_Fint *win_keyval, MPI_Aint *extra_state, MPI_Fint *ierr));
|
||||
PN(void, mpi_win_delete_attr, MPI_WIN_DELETE_ATTR, (MPI_Fint *win, MPI_Fint *win_keyval, MPI_Fint *ierr));
|
||||
PN(void, mpi_win_fence, MPI_WIN_FENCE, (MPI_Fint *assert, MPI_Fint *win, MPI_Fint *ierr));
|
||||
PN(void, mpi_win_free, MPI_WIN_FREE, (MPI_Fint *win, MPI_Fint *ierr));
|
||||
|
@ -9,6 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -33,7 +34,7 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_REGISTER_DATAREP,
|
||||
pmpi_register_datarep_,
|
||||
pmpi_register_datarep__,
|
||||
pmpi_register_datarep_f,
|
||||
(char *datarep, void *read_conversion_fn, void *write_conversion_fn, void *dtype_file_extent_fn, MPI_Fint *extra_state, MPI_Fint *ierr, int datarep_len),
|
||||
(char *datarep, void *read_conversion_fn, void *write_conversion_fn, void *dtype_file_extent_fn, MPI_Aint *extra_state, MPI_Fint *ierr, int datarep_len),
|
||||
(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state, ierr, datarep_len) )
|
||||
#endif
|
||||
|
||||
@ -50,7 +51,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_REGISTER_DATAREP,
|
||||
mpi_register_datarep_,
|
||||
mpi_register_datarep__,
|
||||
mpi_register_datarep_f,
|
||||
(char *datarep, void *read_conversion_fn, void *write_conversion_fn, void *dtype_file_extent_fn, MPI_Fint *extra_state, MPI_Fint *ierr, int datarep_len),
|
||||
(char *datarep, void *read_conversion_fn, void *write_conversion_fn, void *dtype_file_extent_fn, MPI_Aint *extra_state, MPI_Fint *ierr, int datarep_len),
|
||||
(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state, ierr, datarep_len) )
|
||||
#endif
|
||||
|
||||
@ -67,7 +68,7 @@ union local_type_convert {
|
||||
|
||||
void mpi_register_datarep_f(char *datarep, void *read_conversion_fn,
|
||||
void *write_conversion_fn,
|
||||
void *dtype_file_extent_fn, MPI_Fint *extra_state,
|
||||
void *dtype_file_extent_fn, MPI_Aint *extra_state,
|
||||
MPI_Fint *ierr, int datarep_len)
|
||||
{
|
||||
char *c_datarep;
|
||||
|
@ -9,6 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -63,11 +64,10 @@ void mpi_type_create_hvector_f(MPI_Fint *count, MPI_Fint *blocklength,
|
||||
{
|
||||
MPI_Datatype c_old = MPI_Type_f2c(*oldtype);
|
||||
MPI_Datatype c_new;
|
||||
MPI_Aint c_stride = (MPI_Aint)*stride;
|
||||
|
||||
*ierr = OMPI_INT_2_FINT(MPI_Type_hvector(OMPI_FINT_2_INT(*count),
|
||||
OMPI_FINT_2_INT(*blocklength),
|
||||
c_stride,
|
||||
*stride,
|
||||
c_old, &c_new));
|
||||
|
||||
if (MPI_SUCCESS == OMPI_FINT_2_INT(*ierr)) {
|
||||
|
@ -9,6 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -32,7 +33,7 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_TYPE_CREATE_KEYVAL,
|
||||
pmpi_type_create_keyval_,
|
||||
pmpi_type_create_keyval__,
|
||||
pmpi_type_create_keyval_f,
|
||||
(ompi_mpi2_fortran_copy_attr_function* type_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* type_delete_attr_fn, MPI_Fint *type_keyval, MPI_Fint *extra_state, MPI_Fint *ierr),
|
||||
(ompi_mpi2_fortran_copy_attr_function* type_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* type_delete_attr_fn, MPI_Fint *type_keyval, MPI_Aint *extra_state, MPI_Fint *ierr),
|
||||
(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state, ierr) )
|
||||
#endif
|
||||
|
||||
@ -49,7 +50,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_TYPE_CREATE_KEYVAL,
|
||||
mpi_type_create_keyval_,
|
||||
mpi_type_create_keyval__,
|
||||
mpi_type_create_keyval_f,
|
||||
(ompi_mpi2_fortran_copy_attr_function* type_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* type_delete_attr_fn, MPI_Fint *type_keyval, MPI_Fint *extra_state, MPI_Fint *ierr),
|
||||
(ompi_mpi2_fortran_copy_attr_function* type_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* type_delete_attr_fn, MPI_Fint *type_keyval, MPI_Aint *extra_state, MPI_Fint *ierr),
|
||||
(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state, ierr) )
|
||||
#endif
|
||||
|
||||
@ -60,7 +61,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_TYPE_CREATE_KEYVAL,
|
||||
|
||||
static char FUNC_NAME[] = "MPI_Type_create_keyval_f";
|
||||
|
||||
void mpi_type_create_keyval_f(ompi_mpi2_fortran_copy_attr_function* type_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* type_delete_attr_fn, MPI_Fint *type_keyval, MPI_Fint *extra_state, MPI_Fint *ierr)
|
||||
void mpi_type_create_keyval_f(ompi_mpi2_fortran_copy_attr_function* type_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* type_delete_attr_fn, MPI_Fint *type_keyval, MPI_Aint *extra_state, MPI_Fint *ierr)
|
||||
{
|
||||
int ret, c_err;
|
||||
ompi_attribute_fn_ptr_union_t copy_fn;
|
||||
|
@ -9,6 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -64,8 +65,8 @@ void mpi_type_create_resized_f(MPI_Fint *oldtype, MPI_Aint *lb,
|
||||
MPI_Datatype c_old = MPI_Type_f2c(*oldtype);
|
||||
MPI_Datatype c_new;
|
||||
|
||||
*ierr = OMPI_INT_2_FINT(MPI_Type_create_resized(c_old, (MPI_Aint)(*lb),
|
||||
(MPI_Aint)(*extent),
|
||||
*ierr = OMPI_INT_2_FINT(MPI_Type_create_resized(c_old, *lb,
|
||||
*extent,
|
||||
&c_new));
|
||||
|
||||
if (MPI_SUCCESS == OMPI_FINT_2_INT(*ierr)) {
|
||||
|
@ -9,6 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
|
@ -69,7 +69,7 @@ void mpi_win_create_f(char *base, MPI_Aint *size, MPI_Fint *disp_unit,
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_info = MPI_Info_f2c(*info);
|
||||
|
||||
*ierr = OMPI_INT_2_FINT(MPI_Win_create(base, (MPI_Aint)(*size),
|
||||
*ierr = OMPI_INT_2_FINT(MPI_Win_create(base, *size,
|
||||
OMPI_FINT_2_INT(*disp_unit),
|
||||
c_info, c_comm, &c_win));
|
||||
if (MPI_SUCCESS == OMPI_FINT_2_INT(*ierr)) {
|
||||
|
@ -9,6 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -32,7 +33,7 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_CREATE_KEYVAL,
|
||||
pmpi_win_create_keyval_,
|
||||
pmpi_win_create_keyval__,
|
||||
pmpi_win_create_keyval_f,
|
||||
(ompi_mpi2_fortran_copy_attr_function* win_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* win_delete_attr_fn, MPI_Fint *win_keyval, MPI_Fint *extra_state, MPI_Fint *ierr),
|
||||
(ompi_mpi2_fortran_copy_attr_function* win_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* win_delete_attr_fn, MPI_Fint *win_keyval, MPI_Aint *extra_state, MPI_Fint *ierr),
|
||||
(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state, ierr) )
|
||||
#endif
|
||||
|
||||
@ -49,7 +50,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_WIN_CREATE_KEYVAL,
|
||||
mpi_win_create_keyval_,
|
||||
mpi_win_create_keyval__,
|
||||
mpi_win_create_keyval_f,
|
||||
(ompi_mpi2_fortran_copy_attr_function* win_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* win_delete_attr_fn, MPI_Fint *win_keyval, MPI_Fint *extra_state, MPI_Fint *ierr),
|
||||
(ompi_mpi2_fortran_copy_attr_function* win_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* win_delete_attr_fn, MPI_Fint *win_keyval, MPI_Aint *extra_state, MPI_Fint *ierr),
|
||||
(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state, ierr) )
|
||||
#endif
|
||||
|
||||
@ -62,7 +63,7 @@ static char FUNC_NAME[] = "MPI_Win_create_keyval";
|
||||
|
||||
void mpi_win_create_keyval_f(ompi_mpi2_fortran_copy_attr_function* win_copy_attr_fn,
|
||||
ompi_mpi2_fortran_delete_attr_function* win_delete_attr_fn,
|
||||
MPI_Fint *win_keyval, MPI_Fint *extra_state, MPI_Fint *ierr)
|
||||
MPI_Fint *win_keyval, MPI_Aint *extra_state, MPI_Fint *ierr)
|
||||
{
|
||||
int ret, c_err;
|
||||
ompi_attribute_fn_ptr_union_t copy_fn;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user