QLogic OFED+ Host Software User Guide, Rev. B
QLogic OFED+ Host Software User Guide, Rev. B
QLogic OFED+ Host Software User Guide, Rev. B
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
F–Troubleshooting<br />
<strong>QLogic</strong> MPI Troubleshooting<br />
Compiling on Development Nodes<br />
If the mpi-devel-* RPM is installed with the --prefix /path/to/devel<br />
option, then mpicc, etc. must be passed in -I/path/to/devel/include for<br />
the compiler to find the MPI include files, as in this example:<br />
$ mpicc myprogram.c -I/path/to/devel/include<br />
If you are using Fortran 90 or Fortran 95, a similar option is needed for the<br />
compiler to find the module files:<br />
$ mpif90 myprogramf90.f90 -I/path/to/devel/include<br />
If the mpi-lib-* RPM is installed on these development nodes with the<br />
--prefix /path/to/libs option, then the compiler needs the<br />
-L/path/to/libs option so it can find the libraries. Here is the example for<br />
mpicc:<br />
$ mpicc myprogram.c -L/path/to/libs/lib (for 32 bit)<br />
$ mpicc myprogram.c -L/path/to/libs/lib64 (for 64 bit)<br />
To find both the include files and the libraries with these non-standard locations,<br />
type:<br />
$ mpicc myprogram.c -I/path/to/devel/include -L/path/to/libs/lib<br />
Specifying the Run-time Library Path<br />
There are several ways to specify the run-time library path so that when the<br />
programs are run, the appropriate libraries are found in the new location. There<br />
are three different ways to do this:<br />
• Use the -Wl,-rpath, option when compiling on the development node.<br />
• Update the /etc/ld.so.conf file on the compute nodes to include the path.<br />
• Export the path in the .mpirunrc file.<br />
These methods are explained in more detail in the following paragraphs.<br />
An additional linker option, -Wl,-rpath, supplies the run-time library path when<br />
compiling on the development node. The compiler options now look like this:<br />
$ mpicc myprogram.c -I/path/to/devel/include -L/path/to/libs/lib<br />
-Wl,-rpath,/path/to/libs/lib<br />
The above compiler command ensures that the program will run using this path on<br />
any machine.<br />
D000046-005 B F-15