[mpich-discuss] MPI 64 bit for 64 bit code on windows7 64 bit

Marco De Gregorio marco.degregorio at iet.unipi.it
Mon Sep 24 11:21:46 CDT 2012


Hi,

I work with a Fortran code. I use Visual Studio 2008 and Intel Fortran 11.
I have always used 32 bit MPI successfully.
Now I need to switch my code to 64 bit. First of all I uninstalled 32 
bit MPICH2 and I installed mpich2-1.4.1p1-win-x86-64.
I have several problems.
When I launch my program, the first value of some integer array 
(/block_lengths/) changes sign after some MPI_GET_ADDRESS and I have an 
error message. Below you can find a piece of code.

/block_lengths(:) = 1//
//
//!get addresses//
//CALL MPI_GET_ADDRESS(var_name%distance,address(1),MY_MPI_error)//
//CALL MPI_GET_ADDRESS(var_name%min_distance,address(2),MY_MPI_error)//
//CALL MPI_GET_ADDRESS(var_name%max_distance,address(3),MY_MPI_error)//
//CALL MPI_GET_ADDRESS(var_name%flag,address(4),MY_MPI_error)/

So, I changed the position of these arrays in the code and I have bypass 
the error, but after the change, however the code doesn't work. The 
problem is with a mpi_send and mpi_receiver.

address is defined as /INTEGER(KIND = MPI_ADDRESS_KIND) :: 
address(SIZE)/ , but /write(*,*) MPI_GET_ADDRESS/ returns 4.

In the mpif.h I found:
/INTEGER MPI_ADDRESS_KIND, MPI_OFFSET_KIND//
//  PARAMETER (MPI_ADDRESS_KIND=8)//
//  PARAMETER (MPI_OFFSET_KIND=8)/

There is a mistake.

Do you have any idea to help me??

With 32 bit MPICH2 and 32 bit code I don't have error.
If I try /mpiexec -n 1 code_64bit.exe/  , the 64 bit code works fine.

Thank you,
regards,

-- 

*Ing. Marco De Gregorio*
Microwave & Radiation Laboratory
Dip. Ingegneria dell'Informazione - Università di Pisa
via G. Caruso 16, 56122 Pisa - Italy
/Lab:/ (+39)050.2217681
/Mail:/ marco.degregorio at iet.unipi.it

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20120924/6188d52a/attachment.html>


More information about the mpich-discuss mailing list