mpxlf_r NAME mpxlf_r - Invokes a shell script to compile Fortran programs and link them into a threaded environment. SYNOPSIS mpxlf_r [xlf_flags]... program.f The mpxlf_r shell script compiles Fortran programs while linking in the Partition Manager, the threaded implementation of Message Passing Interface (MPI), and (optionally) Low-level Applications Programming Interface (LAPI). FLAGS Any of the compiler flags normally accepted by the xlf command can also be used on mpxlf_r. For a complete listing of these flag options, refer to the manual page for the xlf command. Typical options to mpxlf_r include: -v causes a "verbose" output listing of the shell script. -g Produces an object file with symbol table references. This object file is needed for debugging with the pdbx debugger. -o names the executable. -d7 compiles the program with POSIX Threads Draft 7 base MPI and compatibility libraries. Otherwise, the POSIX standard libraries are used. -l (lower-case L) names additional libraries to be searched. Several libraries are automatically included, and are listed below in the CONTEXT section. Note: Not all AIX libraries are thread safe. Verify that your intended use is supported. -I (upper-case i) names directories for additional includes. The directory /usr/lpp/ppe.poe/include or the appropriate subdirectory is included automatically. Command line or makefile hard coding of include paths for PE header files should normally be avoided. Such specifications will take precedence over the directory selected by the script and may result in generating incorrect code. -p enables profiling with the prof command. For more information, see the appendix on "Profiling Programs" in IBM Parallel Environment for AIX: Operation and Use, Volume 2 -pg enables profiling with the xprofiler and gprof commands. For more information, see the "Xprofiler" chapter and the appendix on "Profiling Programs" in IBM Parallel Environment for AIX: Operation and Use, Volume 2 -q64 enables compiling of 64-bit applications. DESCRIPTION The mpxlf_r shell script invokes the xlf command. In addition, the Partition Manager and data communication interfaces are automatically linked in. The script creates an executable that dynamically binds with the communication subsystem libraries. Flags are passed by mpxlf_r to the xlf command, so any of the xlf options can be used on the mpxlf_r shell script. The communication subsystem library implementation is dynamically linked when you invoke the executable using the poe command. The value specified by the MP_EUILIB environment variable or the -euilib flag will then determine which communication subsystem library implementation is dynamically linked. There are three versions of mpif.h supplied and the compilation scripts will provide the include path to select the correct version. A user specified include path provided through makefile or compilation command line flag will be searched before the script's path. If any user specified include path provides an inappropriate copy of mpif.h, the script will not be able to override and select the appropriate copy. ENVIRONMENT VARIABLES MP_PREFIX sets an alternate path to the scripts library. If not set or NULL, the standard path /usr/lpp/ppe.poe is used. If this environment variable is set, then all libraries are prefixed by $MP_PREFIX/ppe.poe. MP_UTE Setting this variable to yes causes the UTE library to be added to the link step, allowing the user to collect data from the application using PE Benchmarker. For more information, see IBM Parallel Environment for AIX: Operation and Use, Volume 2. EXAMPLES To compile a Fortran program, enter: mpxlf_r program.f -o program FILES When you compile a program using mpxlf_r, the following libraries are automatically selected: /usr/lpp/ppe.poe/lib/libmpi_r.a (Message passing interface, collective communication routines) /usr/lpp/ppe.poe/lib/libppe_r.a (PE common routines) The following library is selected if it exists as a symbolic link to /usr/lpp/ssp/css/lib/liblapi_r.a: /usr/lib/liblapi_r.a RELATED INFORMATION Commands: mpcc_r(1), xlf(1), pdbx(1), xprofiler(1)