[mpich-discuss] compilation problem with mpich2-1.4
Benjamin Welton
benjamin.r.welton at wmich.edu
Sat Jul 9 12:39:18 CDT 2011
> if I understand correctly, and if it's not mpich specific, it's more
> a problem of compiler
> but, why the compilation succeeded with mpich2 1.3 and failed when I
> use mpich2 version 1.4 while it's the same compiler ( gcc 461 ) ? :-\
That's a good question. Problems like this are somewhat hard to identify
because the compiler has a lot of flexibility on what it defines as
integers. It can be between 2-16 bytes. Now why it would choose differnt
byte sizes on the same machine is kinda a mystery. If you are using
different compilers (aka compiling mpich with gfortran, and your app
with ifort) this could cause the problem. It could also be that
something in mpich was changed for the fortran bindings to force 8 byte
integers when compiling on x86_64 (or that this specific value is not
forced 8 byte). Someone with more specific knowledge on the bindings
might be able to shed some light on this.
> FYI, gcc4.[4,5,6] or ifort 11.1 ( with openmpi 1.4 or mpich2 1.3 )
> does not detect this problem either...
Interesting, if you could get what byte sizes it was using as default
for integer in this case and compare it to what its using with
gcc 461 this would show where the conflict is (gdb might be able to
display this information).
Ben
On 7/9/2011 8:43 AM, Jean-Michel Beuken wrote:
> Hello Ben,
>>> The kind (4) of this actual argument does not match that of its
>>> associated dummy argument (8). call
>>> MPI_Type_hvector(ny,1,stride_x,column_type,new_type,mpi_err)
>> The error is likely with the literal 1 value. It is being stored as
>> integer 4 byte when the value should be (according to the error) 8 byte.
> thank you
> I suspected it a little...
>
> change 1 by int(1,4) is the solution ( others args must be also
> changed... )
>> This site ( http://www.arsc.edu/support/news/HPCnews/HPCnews215.shtml
>> ) has a small section that talks about this error and how to fix it
>> (not mpich specific but the same rules should still apply).
> if I understand correctly, and if it's not mpich specific, it's more
> a problem of compiler
> but, why the compilation succeeded with mpich2 1.3 and failed when I
> use mpich2 version 1.4 while it's the same compiler ( gcc 461 ) ? :-\
>
> FYI, gcc4.[4,5,6] or ifort 11.1 ( with openmpi 1.4 or mpich2 1.3 )
> does not detect this problem either...
>
>
> thanks
>
> jmb
> _______________________________________________
> mpich-discuss mailing list
> mpich-discuss at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
More information about the mpich-discuss
mailing list