HP-MPI Version 1.2 for Windows Release Note
The mpif90 utility adds additional command line options for HP-MPI include directories and
libraries. The -show option can be specified to mpif90 to display the command generated
without executing the compilation command. See the manpage mpif90(1) for more information.
To construct the desired compilation command, the mpif90 utility needs to know what command
line compiler is to be used, the bitness of the executable that compiler will produce, and the
syntax accepted by the compiler. These can be controlled by environment variables or from the
command line.
Table 1-3 mpif90 Utility
Command LineValueEnvironment Variable
-mpif90 <value>desired compiler (default ifort)MPI_F90
-mpi32 or -mpi6432 or 64 (no default)MPI_BITNESS
-mpisyntax <value>windows or unix (default windows)MPI_WRAPPER_SYNTAX
For example, to compile compute_pi.f using a 64-bit 'ifort' contained in your PATH could be
done with the following command since 'ifort' and the 'Windows' syntax are defaults:
"%MPI_ROOT%\bin\mpif90" -mpi64 compute_pi.f /link
/out:compute_pi_ifort.exe
Or, use the following example to compile using the PGI compiler which uses a more UNIX-like
syntax:
"%MPI_ROOT%\bin\mpif90" -mpif90 pgf90 -mpisyntax unix -mpi32 compute_pi.f
-o compute_pi_pgi32.exe
To compile compute_pi.f using Intel Fortran without utilizing the mpif90 tool (from a
command prompt that has the appropriate environment settings loaded for your Fortran
compiler):
ifort compute_pi.f /I"%MPI_ROOT%\include\64" /link /out:compute_pi.exe
/libpath:"%MPI_ROOT%\lib" /subsystem:console libhpmpi64.lib
1.10.1 autodouble (Automatic Promotion)
HP-MPI supports automatic promotion of Fortran datatypes using any of the following arguments
(some of which are not supported on all Fortran compilers).
/integer_size:64
/4I8
-i8
/real_size:64
/4R8
/Qautodouble
-r8
If these flags are given to the mpif90.bat script at link time, then the application will be linked
enabling HP-MPI to interpret the datatype MPI_REAL as 8 bytes (etc. as appropriate) at runtime.
However, if your application is written to explicitly handle the autodoubled datatypes (for
example, if a variable is declared real and the code is compiled -r8 and corresponding MPI calls
are given MPI_DOUBLE for the datatype), then the autodouble related command line arguments
should not be passed to mpif90.bat at link time (because that would cause the datatypes to
be automatically changed).
1.11 InfiniBand Setup
For InfiniBand documentation, see the Interconnect Documentation section of the HP High
Performance Computing website at:
32 HP-MPI V1.2 for Windows Release Note