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 />
For the second option, change the file /etc/ld.so.conf on the compute<br />
nodes rather than using the -Wl,-rpath, option when compiling on the<br />
development node. It is assumed that the mpi-lib-* RPM is installed on the<br />
compute nodes with the same --prefix /path/to/libs option as on the<br />
development nodes. Then, on the computer nodes, add the following lines to the<br />
file /etc/ld.so.conf:<br />
/path/to/libs/lib<br />
/path/to/libs/lib64<br />
To make sure that the changes take effect, run (as a root user):<br />
# /etc/ldconfig<br />
The libraries can now be found by the runtime linker on the compute nodes. The<br />
advantage to this method is that it works for all InfiniPath programs, without<br />
having to remember to change the compile/link lines.<br />
Instead of either of the two previous mechanisms, you can also put the following<br />
line in the ~/.mpirunrc file:<br />
export LD_LIBRARY_PATH=/path/to/libs/{lib,lib64}<br />
See “Environment for Node Programs” on page 4-19 for more information on<br />
using the -rcfile option with mpirun.<br />
Choices between these options are left up to the cluster administrator and the MPI<br />
developer. See the documentation for your compiler for more information on the<br />
compiler options.<br />
Problem with Shell Special Characters and Wrapper Scripts<br />
Be careful when dealing with shell special characters, especially when using the<br />
mpicc, etc. wrapper scripts. These characters must be escaped to avoid the shell<br />
interpreting them.<br />
For example, when compiling code using the -D compiler flag, mpicc (and other<br />
wrapper scripts) will fail if the defined variable contains a space, even when<br />
surrounded by double quotes. In the following example, the result of the -show<br />
option reveals what happens to the variable:<br />
$ mpicc -show -DMYDEFINE="some value" test.c<br />
gcc -c -DMYDEFINE=some value test.c<br />
gcc -Wl,--export-dynamic,--allow-shlib-undefined test.o -lmpich<br />
F-16 D000046-005 B