We have a Fortran application that we have compiled and run fine with 4-byte integers and Intel MPI 4.0. We would like to compile the application using 8-byte integers. What we are trying is setting the Fortran compiler to compile all integers as 8-bytes and then link the ilp64 MKL libraries with libmpi_ilp64.lib. However, the compiler complains that the mpi subroutine data types no longer match.
For example, for MPI_COMM_SIZE
integer :: comm, size, ierr !now 8-bytes by default
the compiler complains the integer data types do not match. Also, mpi integer parameters like MPI_COMM_WORLD still seem to be 4-byte integers. The MPI documentation has only a sentence or two about 8-byte integers.
1. Is there any way to compile an mpi program natively as 8-bytes without having to go and adjust all the mpi calls back to 4-bytes?
2. What exactly is libmpi_ilp64.lib doing?