[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