Message Queue Display Debugging Dynamic Library
Each version of the IBM PE library requires a different MQD debugging dynamic library for use with TotalView. This section explains how TotalView chooses the correct MQD debugging dynamic library.
When TotalView recognizes that it is dealing with IBM MPI code, it searches for a MQD dynamic library to load capable of handling the appropriate IBM MPI implementation. The IBM MPI library declares its debugging compatibility version using the mpi_debug_version global variable. The following table shows the current set of values:
mpi_debug_version value |
PE version number |
0 |
2.3 |
1 |
2.4 |
2 |
3.1 |
When looking for the MQD debugging dynamic library, TotalView looks for a library named libtvibmmpi.so. If it cannot be found, TotalView looks for a library named libtvibmmpi32-<n>.so (where <n> is the integer value of the mpi_debug_version variable) for a 32 bit MPI process or libtvibmmpi64-<n>.so for a 64 bit process.
By default, the MQD debugging dynamic libraries provided with TotalView are:
- libtvibmmpi-poe-2.3.so
- libtvibmmpi-poe-2.4.so
- libtvibmmpi-poe-3.1.so
- libtvibmmpi64-poe-3.1.so
TotalView can create the following symbolic links:
- libtvibmmpi32-0.so -> libtvibmmpi-poe-2.3.so
- libtvibmmpi32-1.so -> libtvibmmpi-poe-2.4.so
- libtvibmmpi32-2.so -> libtvibmmpi-poe-3.1.so
- libtvibmmpi64-2.so -> libtvibmmpi64-poe-3.1.so
These links ensure that the correct MQD debugging dynamic library is loaded for POE 2.3, POE 2.4, and either 32 or 64 bit codes using POE 3.1.