ILP64 Support

The term ILP64 denotes that integer, long, and pointer data entities all occupy 8 bytes. This differs from the more conventional LP64 model, in which only long and pointer data entities occupy 8 bytes while integer entities occupy 4 bytes. More information on the historical background and the programming model philosophy can be found, for example, in http://www.unix.org/version2/whatsnew/lp64_wp.html

Intel® MPI Library provides support for the ILP64 model for Fortran applications. To enable the ILP64 mode, do the following:

Use the Fortran compiler wrapper option -i8 for separate compilation and the -ilp64 option for separate linking. For example:

$ mpiifort -i8 -c test.f
$ mpiifort -ilp64 -o test test.o

For simple programs, use the Fortran compiler wrapper option -i8 for compilation and linkage. Specifying -i8 will automatically assume the ILP64 library. For example:

$ mpiifort -i8 test.f

When running the application, use the -ilp64 option to preload the ILP64 interface. For example:

$ mpirun -ilp64 -n 2 ./myprog

The following limitations are present in the Intel MPI Library in regard to this functionality: