FWIW: I think you'll probably run into issues with MPI attributes (e.g., 
MPI_COMM_ATTR_SET / GET).

I'll file a ticket about those...


On Jul 3, 2012, at 3:29 PM, Secretan Yves wrote:

> Hi,
> 
> I applied the patch of ticket #3148 to my version of openmpi  1.6 and it does 
> the job  .... at least for me.
> 
> Thanks'  for the prompt fix.
> 
> Yves Secretan
> yves.secre...@ete.inrs.ca
> 
> Avant d'imprimer, pensez à l'environnement 
> 
> 
> -----Message d'origine-----
> De : users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] De la 
> part de Jeff Squyres
> Envoyé : 2 juillet 2012 15:55
> À : Open MPI Users
> Objet : Re: [OMPI users] fortran program with integer kind=8 using openmpi
> 
> Huh.  That's weird.  I'll file a ticket.
> 
> FWIW, I think compiling OMPI with -i8 worked at one time, but it's probably 
> little-used/little-tested.  It may have grown some bit-rot over time (like 
> this case).
> 
> 
> 
> On Jun 30, 2012, at 12:34 PM, Secretan Yves wrote:
> 
>> Well,
>> 
>> With openmpi compiled with Fortran default integer*8, 
>> MPI_TYPE_2INTEGER seem to have an incorrect size. The attached Fortran 
>> program shows it,
>> 
>> When run on openmpi with integer*8
>> Size of MPI_INTEGER is                     8
>> Size of MPI_INTEGER4 is                     4
>> Size of MPI_INTEGER8 is                     8
>> Size of MPI_2INTEGER is                     8           <-- Should be 16
>> 
>> When run on "normal" openmpi 
>> Size of MPI_INTEGER is            4
>> Size of MPI_INTEGER4 is            4
>> Size of MPI_INTEGER8 is            8
>> Size of MPI_2INTEGER is            8
>> 
>> 
>> Yves Secretan
>> yves.secre...@ete.inrs.ca
>> 
>> Avant d'imprimer, pensez à l'environnement 
>> ________________________________________
>> De : users-boun...@open-mpi.org [users-boun...@open-mpi.org] de la 
>> part de William Au [au_wai_ch...@hotmail.com] Date d'envoi : 29 juin 
>> 2012 19:15 À : us...@open-mpi.org Objet : Re: [OMPI users] fortran 
>> program with integer kind=8 using openmpi
>> 
>> My concern is how do the C side know fortran integer using 8 bytes?
>> My valgrind check show something like:
>> 
>> ==8482== Invalid read of size 8
>> ==8482==    at 0x5F4A50E: ompi_op_base_minloc_2integer 
>> (op_base_functions.c:631)
>> ==8482==    by 0xBF70DD1: ompi_coll_tuned_allreduce_intra_recursivedoubling 
>> (op.h:498)
>> ==8482==    by 0x5F031CB: PMPI_Allreduce (pallreduce.c:105)
>> ==8482==    by 0x62E2F22: PMPI_ALLREDUCE (pallreduce_f.c:77)
>> ==8482==    by 0x5C8934: mumps_276_ (mumps_part9.F:4667)
>> ==8482==    by 0x54D89A: dmumps_ (dmumps_part1.F:157)
>> ==8482==    by 0x43D358: dmumps_f77_ (dmumps_part3.F:6651)
>> ==8482==    by 0x41420C: dmumps_c (mumps_c.c:422)
>> ==8482==    by 0x412CB4: main (my_cExample_client.c:80)
>> ==8482==  Address 0x7369608 is 0 bytes after a block of size 8 alloc'd
>> ==8482==    at 0x4A0610C: malloc (vg_replace_malloc.c:195)
>> ==8482==    by 0xBF709B9: ompi_coll_tuned_allreduce_intra_recursivedoubling 
>> (coll_tuned_allreduce.c:158)
>> ==8482==    by 0x5F031CB: PMPI_Allreduce (pallreduce.c:105)
>> ==8482==    by 0x62E2F22: PMPI_ALLREDUCE (pallreduce_f.c:77)
>> ==8482==    by 0x5C8934: mumps_276_ (mumps_part9.F:4667)
>> ==8482==    by 0x54D89A: dmumps_ (dmumps_part1.F:157)
>> ==8482==    by 0x43D358: dmumps_f77_ (dmumps_part3.F:6651)
>> ==8482==    by 0x41420C: dmumps_c (mumps_c.c:422)
>> ==8482==    by 0x412CB4: main (my_cExample_client.c:80)
>> 
>> 
>> The fortran side:
>> 
>>     INTEGER IN( 2 ), OUT( 2 )
>> 
>>     CALL MPI_ALLREDUCE( IN, OUT, 1, MPI_2INTEGER, MPI_MINLOC,
>>    &                    COMM, IERR)
>> 
>> The compiler options will take care of IN be INTEGER*8, but will it do 
>> the same for MPI_2INTEGER in the C side
>> 
>> Thanks.
>> 
>> Regards,
>> 
>> William
>> 
>> 
>> 
>> Date: Fri, 29 Jun 2012 07:03:18 -0400
>> From: Jeff Squyres <jsquy...@cisco.com>
>> Subject: Re: [OMPI users] fortran program with integer kind=8 using
>>       openmpi
>> To: <war...@atmos.washington.edu>, Open MPI Users <us...@open-mpi.org>
>> Message-ID: <6ffea644-3f39-4b6e-add6-3721f4855...@cisco.com>
>> Content-Type: text/plain; charset=iso-8859-1
>> 
>> On Jun 28, 2012, at 8:37 PM, David Warren wrote:
>> 
>>> You should not have to recompile openmpi, but you do have to use the 
>>> correct type. You can check the size of integers in your fortrana nd use 
>>> MPI_INTEGER4 or MPI_INTEGER8 depending on what you get.
>> 
>> If you configure ompi with -fdefault-integer-8, then OMPI will assume that 
>> Fortran integers are always 8 bytes, so be sure to also compile all of your 
>> MPI applications the same way.  Indeed, you may want to configure OMPI with 
>> something like:
>> 
>> ./configure FCFLAGS=-fdefault-integer-8 FFLAGS=-fdefault-integer-8 \
>>  --with-wrapper-fflags=-fdefault-integer-8 \
>>  --with-wrapper-fcflags=-fdefault-integer-8
>> 
>> This will add -fdefault-integer-8 to the mpif77 and mpif90 command lines 
>> automatically so that you *can't* compile without that flag.
>> 
>> Be aware that 8-byte Fortran integers *should work* in Open MPI, but it is 
>> probably not well tested.  You may well run into some issues; be sure to let 
>> us know if you run into bugs.  Sending small test programs that show the 
>> problem are usually the best way to help us identify/fix the precise problem.
>> 
>>> in gfortran use
>>> integer i
>>> if(sizeof(i) .eq. 8) then
>>>   mpi_int_type=MPI_INTEGER8
>>> else
>>>   mpi_int_type=MPI_INTEGER4
>>> endif
>> 
>> I don't think that this should be necessary -- as long as you configured 
>> OMPI with the 8-byte-integer setting, then MPI_INTEGER should represent an 8 
>> byte integer.
>> 
>> --
>> Jeff Squyres
>> jsquy...@cisco.com
>> For corporate legal information go to: 
>> http://www.cisco.com/web/about/doing_business/legal/cri/
>> 
>> 
>> <type_size.for>_______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> 
> --
> 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
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to