Jeff,

thanks for all the good catches.

MPI_Type_create_resized is not required in this example because
send/recv are called
with count=1.

Generally speaking, if count > 1, MPI_Type_create_resized is required
because
the compiler might add some padding at the end of the type.

Cheers,

Gilles

On 2015/01/08 20:08, Jeff Squyres (jsquyres) wrote:
> There were still some minor errors left over in the attached program.
>
> I strongly encourage you to use "use mpi" instead of "include 'mpif.h'" 
> because you will get compile time errors when you pass incorrect / forget to 
> pass parameters to MPI subroutines.  When I switched your program to "use 
> mpi", here's what the compiler showed me:
>
> 1. the name "MPI" is reserved
> 2. need to pass displacements(1:nstruct+1) to mpi_type_create_struct
> 3. need to pass request(1) to mpi_isend
> 4. need to pass request(1) to mpi_wait
> 5. need to pass ierr argument to mpi_wait
>
> 1-4 are technically not correct, but the program would likely (usually) 
> compile/run "correctly" anyway.  5 is probably what caused your segv.
>
> Attached is my copy of your program with fixes for the above-mentioned issues.
>
> BTW, I missed the beginning of this thread -- I assume that this is an 
> artificial use of mpi_type_create_resized for the purposes of a small 
> example.  The specific use of it in this program appears to be superfluous.
>
>
>
>
>
> On Jan 8, 2015, at 4:26 AM, Gilles Gouaillardet 
> <gilles.gouaillar...@iferc.org> wrote:
>
>> Diego,
>>
>> yes, it works for me (at least with the v1.8 head and gnu compilers)
>>
>> Cheers,
>>
>> Gilles
>>
>> On 2015/01/08 17:51, Diego Avesani wrote:
>>> Dear Gilles,
>>> thanks again, however it does not work.
>>>
>>> the program says:  "SIGSEGV, segmentation fault occurred"
>>>
>>> Does the program run in your case?
>>>
>>> Thanks again
>>>
>>>
>>>
>>> Diego
>>>
>>>
>>> On 8 January 2015 at 03:02, Gilles Gouaillardet <
>>>
>>> gilles.gouaillar...@iferc.org
>>>> wrote:
>>>
>>>>  Diego,
>>>>
>>>> my bad, i should have passed displacements(1) to MPI_Type_create_struct
>>>>
>>>> here is an updated version
>>>>
>>>> (note you have to use a REQUEST integer for MPI_Isend and MPI_Irecv,
>>>> and you also have to call MPI_Wait to ensure the requests complete)
>>>>
>>>> Cheers,
>>>>
>>>> Gilles
>>>>
>>>>
>>>> On 2015/01/08 8:23, Diego Avesani wrote:
>>>>
>>>> Dear Gilles, Dear all,
>>>>
>>>> I'm sorry to bother you again, but I have some problem with send and
>>>> receive the struct_data.
>>>>
>>>> I tried to send a MPI_Type_Create_Struct but I get a segmentation fault
>>>> occurred and I do not know why. The program is very simple, it is the old
>>>> one with the isend and irecv subroutines
>>>>
>>>> (you can find it in the attachment)
>>>>
>>>> Thanks again
>>>>
>>>>
>>>> Diego
>>>>
>>>>
>>>> On 5 January 2015 at 15:54, Diego Avesani
>>>> <diego.aves...@gmail.com> <diego.aves...@gmail.com>
>>>>  wrote:
>>>>
>>>>
>>>>  Dear Gilles,
>>>>
>>>> Thanks, Thanks a lot.
>>>> Now is more clear.
>>>>
>>>> Again, thanks a lot
>>>>
>>>> Diego
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> users mailing
>>>> listus...@open-mpi.org
>>>>
>>>> Subscription:
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>
>>>> Link to this post:
>>>> http://www.open-mpi.org/community/lists/users/2015/01/26116.php
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> users mailing list
>>>>
>>>> us...@open-mpi.org
>>>>
>>>> Subscription:
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>
>>>> Link to this post:
>>>>
>>>> http://www.open-mpi.org/community/lists/users/2015/01/26118.php
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> users mailing list
>>>
>>> us...@open-mpi.org
>>>
>>> Subscription:
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>
>>> Link to this post:
>>> http://www.open-mpi.org/community/lists/users/2015/01/26124.php
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>> Link to this post: 
>> http://www.open-mpi.org/community/lists/users/2015/01/26126.php
>
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to: 
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
>
>
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post: 
> http://www.open-mpi.org/community/lists/users/2015/01/26127.php

Reply via email to