Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Michael Kluskens (michael.kluskens_at_[hidden])
Date: 2006-03-07 08:45:23


I will begin using the 1.1 snapshot as soon as I see r9198 or
higher. The dynamic process creation is critical to my project and I
need the full range of features that have been discussed on the list
recently regarding the MPI_SPAWN.

I would think that errors like this should be backported to the 1.0.x
series, I assume the hesitation comes from the possibility of
creating additional errors in the process.

Michael

On Mar 4, 2006, at 9:29 AM, Jeff Squyres wrote:

> Michael --
>
> Sorry for the delay in replying.
>
> Many thanks for your report! You are exactly right -- our types are
> wrong and will not match in the F90 bindings. I have committed a fix
> to the trunk for this (it involved changing some types in mpif.h and
> adding another interface function for MPI_COMM_SPAWN_MULTIPLE so that
> MPI_ARGVS_NULL could be unambiguously matched).
>
> It was also just pointed out to us on this list the other day that we
> are missing all the places where MPI choice buffers could be of type
> CHARACTER (e.g., MPI_SEND). We're working on fixing that -- it's
> just a bunch of menial labor to fix.
>
> I'm hesitant to put these fixes in the 1.0.x series simply because
> we're trying to finish that series and advance towards 1.1. Would
> you be amenable to using a 1.1.x snapshot? My commit should show up
> in any 1.1 snapshot >= r9198.
>
>
> On Mar 1, 2006, at 12:30 PM, Michael Kluskens wrote:
>
>>
>> On Mar 1, 2006, at 9:56 AM, George Bosilca wrote:
>>
>>> Now I look into this problem more and your right it's a missing
>>> interface. Somehow, it didn't get compiled.
>>
>> From "openmpi-1.0.1/ompi/mpi/f90/mpi-f90-interfaces.h" the interface
>> says:
>>
>> subroutine MPI_Comm_spawn(command, argv, maxprocs, info, root, &
>> comm, intercomm, array_of_errcodes, ierr)
>> use mpi_kinds
>> character(len=*), intent(in) :: command
>> character(len=*), dimension(*), intent(in) :: argv
>> integer, intent(in) :: maxprocs
>> integer, intent(in) :: info
>> integer, intent(in) :: root
>> integer, intent(in) :: comm
>> integer, intent(out) :: intercomm
>> integer, dimension(*), intent(out) :: array_of_errcodes
>> integer, intent(out) :: ierr
>> end subroutine MPI_Comm_spawn
>>
>> My call is (mostly from the Using MPI-2 book):
>> call MPI_Comm_spawn('subprocess', MPI_ARGV_NULL, universe_size-1,
>> MPI_INFO_NULL, 0, &
>> MPI_COMM_WORLD, slavecomm, MPI_ERRCODES_IGNORE, ierr )
>>
>> looking at "mpif.h" included by mpi_kinds.f90:
>>
>> double complex MPI_ARGV_NULL
>> integer MPI_INFO_NULL
>> integer MPI_COMM_WORLD
>> double complex MPI_ERRCODES_IGNORE
>>
>> What I don't understand how the "double complex" MPI_ARGV_NULL could
>> work with the "character(len=*), dimension(*), intent(in) :: argv"
>> interface or how the "double complex" MPI_ERRCODES_IGNORE could work
>> with the "integer, dimension(*), intent(out) :: array_of_errcodes"
>> interface.
>>
>> I have the following for my variables:
>>
>> integer :: ierr,slavecomm
>> integer (kind=MPI_ADDRESS_KIND) :: universe_size
>>
>> My usage of MPI_ADDRESS_KIND and MPI_Comm_spawn is based on pages
>> 236 and 244 of "Using MPI-2"
>>
>> I'd to resolve the specific error involving the f90 interfaces so I
>> can continue to "USE MPI" in order to check my interface errors
>> quickly as I move forward on my project.
>>
>> Michael
>>
>>
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> --
> {+} Jeff Squyres
> {+} The Open MPI Project
> {+} http://www.open-mpi.org/
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>