27.12.2014 Views

QLogic OFED+ Host Software User Guide, Rev. B

QLogic OFED+ Host Software User Guide, Rev. B

QLogic OFED+ Host Software User Guide, Rev. B

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!