mpxlf95_r NAME mpxlf95_r - Invokes a shell script to compile Fortran 95 programs and link them into a threaded environment. SYNOPSIS mpxlf95_r [xlf_flags]... program.f The mpxlf95_r shell script compiles Fortran 95 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 xlf95 command can also be used on mpxlf95_r. For a complete listing of these flag options, refer to the manual page for the xlf95 command. Typical options to mpxlf95_r include: -v causes a "verbose" output listing of the shell script. -g Produces an object file with symbol table references. -o names the executable. -d7 compiles the program with POSIX Threads Draft 7 base MPI and compatibility libraries. Otherwise, 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 mpxlf95_r shell script invokes the xlf95 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 mpxlf95_r to the xlf95 command, so any of the xlf95 options can be used on the mpxlf95_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 95 program, enter: mpxlf95_r program.f -o program FILES When you compile a program using mpxlf95_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), xlf95(1), mpxlf_r(1), mpxlf95(1), pdbx(1), xprofiler(1)