1
1

mpi_f08: fix MPI_COMM_SPAWN_MULTIPLE binding

Этот коммит содержится в:
Gilles Gouaillardet 2015-06-30 11:47:45 +09:00
родитель a4cc83f4f7
Коммит 86bbdd2ebe
4 изменённых файлов: 19 добавлений и 12 удалений

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

@ -3,6 +3,8 @@
! Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All Rights reserved.
! Copyright (c) 2015 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
subroutine MPI_Comm_spawn_multiple_f08(count,array_of_commands,array_of_argv, &
@ -26,8 +28,9 @@ subroutine MPI_Comm_spawn_multiple_f08(count,array_of_commands,array_of_argv, &
!
call ompi_comm_spawn_multiple_f(count,array_of_commands,array_of_argv, &
array_of_maxprocs,array_of_info(:)%MPI_VAL,root, &
comm%MPI_VAL,intercomm%MPI_VAL,array_of_errcodes,c_ierror)
array_of_maxprocs,array_of_info(:)%MPI_VAL,root, &
comm%MPI_VAL,intercomm%MPI_VAL,array_of_errcodes,c_ierror, &
len(array_of_commands), len(array_of_argv))
if (present(ierror)) ierror = c_ierror
end subroutine MPI_Comm_spawn_multiple_f08

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

@ -2147,7 +2147,8 @@ end subroutine ompi_comm_spawn_f
! TODO - FIXME to use arrays of strings and pass strlen
subroutine ompi_comm_spawn_multiple_f(count,array_of_commands, &
array_of_argv, array_of_maxprocs,array_of_info,root, &
comm,intercomm,array_of_errcodes,ierror) &
comm,intercomm,array_of_errcodes,ierror, &
cmd_len, argv_len) &
BIND(C, name="ompi_comm_spawn_multiple_f")
use, intrinsic :: ISO_C_BINDING, only : C_CHAR
implicit none
@ -2159,6 +2160,7 @@ subroutine ompi_comm_spawn_multiple_f(count,array_of_commands, &
INTEGER, INTENT(OUT) :: intercomm
INTEGER, INTENT(OUT) :: array_of_errcodes(*)
INTEGER, INTENT(OUT) :: ierror
INTEGER, VALUE, INTENT(IN) :: cmd_len, argv_len
end subroutine ompi_comm_spawn_multiple_f
subroutine ompi_lookup_name_f(service_name,info,port_name,ierror, &

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

@ -7,6 +7,8 @@
! of Tennessee Research Foundation. All rights
! reserved.
! Copyright (c) 2012 Inria. All rights reserved.
! Copyright (c) 2015 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
!
! This file provides the interface specifications for the MPI Fortran
@ -1981,7 +1983,8 @@ end subroutine pompi_comm_spawn_f
! TODO - FIXME to use arrays of strings and pass strlen
subroutine pompi_comm_spawn_multiple_f(count,array_of_commands, &
array_of_argv, array_of_maxprocs,array_of_info,root, &
comm,intercomm,array_of_errcodes,ierror) &
comm,intercomm,array_of_errcodes,ierror, &
cmd_len, argv_len) &
BIND(C, name="pompi_comm_spawn_multiple_f")
use, intrinsic :: ISO_C_BINDING, only : C_CHAR
implicit none
@ -1993,6 +1996,7 @@ subroutine pompi_comm_spawn_multiple_f(count,array_of_commands, &
INTEGER, INTENT(OUT) :: intercomm
INTEGER, INTENT(OUT) :: array_of_errcodes(*)
INTEGER, INTENT(OUT) :: ierror
INTEGER, INTENT(IN) :: cmd_len, argv_len
end subroutine pompi_comm_spawn_multiple_f
subroutine pompi_lookup_name_f(service_name,info,port_name,ierror, &

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

@ -1,14 +1,11 @@
! -*- f90 -*-
!
! Copyright (c) 2010-2011 Cisco Systems, Inc. All rights reserved.
!
! $COPYRIGHT$
!
! -*- f90 -*-
!
! Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All Rights reserved.
! All Rights reserved.
! Copyright (c) 2015 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
subroutine PMPI_Comm_spawn_multiple_f08(count,array_of_commands,array_of_argv, &
@ -32,8 +29,9 @@ subroutine PMPI_Comm_spawn_multiple_f08(count,array_of_commands,array_of_argv, &
!
call ompi_comm_spawn_multiple_f(count,array_of_commands,array_of_argv, &
array_of_maxprocs,array_of_info(:)%MPI_VAL,root, &
comm%MPI_VAL,intercomm%MPI_VAL,array_of_errcodes,c_ierror)
array_of_maxprocs,array_of_info(:)%MPI_VAL,root, &
comm%MPI_VAL,intercomm%MPI_VAL,array_of_errcodes,c_ierror, &
len(array_of_commands), len(array_of_argv))
if (present(ierror)) ierror = c_ierror
end subroutine PMPI_Comm_spawn_multiple_f08