Add weak symbols for the MPI-3.1 MPI_Alloc_mem_cptr fortran subroutine.
This subroutine was added in an errata to MPI-3.0; here's the MPI Forum ticket about it: https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/390 This commit was SVN r29385.
Этот коммит содержится в:
родитель
c08f97b030
Коммит
9f9fb5ce38
@ -27,6 +27,12 @@
|
||||
#pragma weak pmpi_alloc_mem_ = ompi_alloc_mem_f
|
||||
#pragma weak pmpi_alloc_mem__ = ompi_alloc_mem_f
|
||||
|
||||
/* Extra pragmas for the _cptr variant from MPI-3.1 */
|
||||
#pragma weak PMPI_ALLOC_MEM_CPTR = ompi_alloc_mem_f
|
||||
#pragma weak pmpi_alloc_mem_cptr = ompi_alloc_mem_f
|
||||
#pragma weak pmpi_alloc_mem_cptr_ = ompi_alloc_mem_f
|
||||
#pragma weak pmpi_alloc_mem_cptr__ = ompi_alloc_mem_f
|
||||
|
||||
#pragma weak PMPI_Alloc_mem_f = ompi_alloc_mem_f
|
||||
#pragma weak PMPI_Alloc_mem_f08 = ompi_alloc_mem_f
|
||||
#elif OMPI_PROFILE_LAYER
|
||||
@ -45,6 +51,12 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_ALLOC_MEM,
|
||||
#pragma weak mpi_alloc_mem_ = ompi_alloc_mem_f
|
||||
#pragma weak mpi_alloc_mem__ = ompi_alloc_mem_f
|
||||
|
||||
/* Extra pragmas for the _cptr variant from MPI-3.1 */
|
||||
#pragma weak MPI_ALLOC_MEM_CPTR = ompi_alloc_mem_f
|
||||
#pragma weak mpi_alloc_mem_cptr = ompi_alloc_mem_f
|
||||
#pragma weak mpi_alloc_mem_cptr_ = ompi_alloc_mem_f
|
||||
#pragma weak mpi_alloc_mem_cptr__ = ompi_alloc_mem_f
|
||||
|
||||
#pragma weak MPI_Alloc_mem_f = ompi_alloc_mem_f
|
||||
#pragma weak MPI_Alloc_mem_f08 = ompi_alloc_mem_f
|
||||
#endif
|
||||
|
@ -88,6 +88,8 @@ PN2(void, MPI_Address, mpi_address, MPI_ADDRESS, (char *location, MPI_Fint *addr
|
||||
PN2(void, MPI_Allgather, mpi_allgather, MPI_ALLGATHER, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *ierr));
|
||||
PN2(void, MPI_Allgatherv, mpi_allgatherv, MPI_ALLGATHERV, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *ierr));
|
||||
PN2(void, MPI_Alloc_mem, mpi_alloc_mem, MPI_ALLOC_MEM, (MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *ierr));
|
||||
/* Extra Alloc_mem prototype for the _cptr variant added in MPI-3.0 errata */
|
||||
PN2(void, MPI_Alloc_mem_cptr, mpi_alloc_mem_cptr, MPI_ALLOC_MEM_CPTR, (MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *ierr));
|
||||
PN2(void, MPI_Allreduce, mpi_allreduce, MPI_ALLREDUCE, (char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *ierr));
|
||||
PN2(void, MPI_Alltoall, mpi_alltoall, MPI_ALLTOALL, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *ierr));
|
||||
PN2(void, MPI_Alltoallv, mpi_alltoallv, MPI_ALLTOALLV, (char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *rdispls, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *ierr));
|
||||
|
@ -248,6 +248,15 @@ subroutine MPI_Alloc_mem(size, info, baseptr, ierror)
|
||||
integer, intent(out) :: ierror
|
||||
end subroutine MPI_Alloc_mem
|
||||
|
||||
subroutine MPI_Alloc_mem_cptr(size, info, baseptr, ierror)
|
||||
use, intrinsic :: iso_c_binding, only : c_ptr
|
||||
include 'mpif-config.h'
|
||||
integer(kind=MPI_ADDRESS_KIND), intent(in) :: size
|
||||
integer, intent(in) :: info
|
||||
type(c_ptr), intent(out) :: baseptr
|
||||
integer, intent(out) :: ierror
|
||||
end subroutine MPI_Alloc_mem_cptr
|
||||
|
||||
end interface
|
||||
|
||||
interface PMPI_Alloc_mem
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user