[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